{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/qrcode/lib/core/byte-data.js","webpack:///./node_modules/qrcode/lib/core/regex.js","webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/dijkstrajs/dijkstra.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/modules/es.array.push.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/qrcode/lib/core/polynomial.js","webpack:///./node_modules/qrcode/lib/core/version-check.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/qrcode/lib/core/kanji-data.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/qrcode/lib/core/error-correction-code.js","webpack:///./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/@vue/runtime-core/index.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///./node_modules/qrcode/lib/renderer/svg-tag.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/qrcode/lib/renderer/canvas.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/qrcode/lib/renderer/utils.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack:///./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack:///./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack:///./node_modules/@intlify/vue-devtools/dist/vue-devtools.esm-bundler.js","webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/time.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/swiper/esm/vue/utils.js","webpack:///./node_modules/vuex/dist/vuex.esm-browser.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/qrcode/lib/core/bit-matrix.js","webpack:///./node_modules/encode-utf8/index.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/vue-router/dist/vue-router.mjs","webpack:///./node_modules/qrcode/lib/can-promise.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/qrcode/lib/core/galois-field.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/vue-tel-input/dist/vue-tel-input.es.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js","webpack:///./node_modules/swiper/esm/components/effect-coverflow/effect-coverflow.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/qrcode/lib/core/mask-pattern.js","webpack:///./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack:///./node_modules/qrcode/lib/core/error-correction-level.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/math.js","webpack:///./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/popper-lite.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack:///./node_modules/qrcode/lib/core/bit-buffer.js","webpack:///./node_modules/qrcode/lib/core/utils.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/js-cookie/dist/js.cookie.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/qrcode/lib/core/reed-solomon-encoder.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/vue-loading-overlay/dist/vue-loading.min.js","webpack:///./node_modules/core-js/internals/regexp-get-flags.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/swiper/esm/vue/params-list.js","webpack:///./node_modules/swiper/esm/vue/get-params.js","webpack:///./node_modules/swiper/esm/vue/init-swiper.js","webpack:///./node_modules/swiper/esm/vue/loop.js","webpack:///./node_modules/swiper/esm/vue/get-changed-params.js","webpack:///./node_modules/swiper/esm/vue/get-children.js","webpack:///./node_modules/swiper/esm/vue/update-swiper.js","webpack:///./node_modules/swiper/esm/vue/virtual.js","webpack:///./node_modules/swiper/esm/vue/swiper.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/qrcode/lib/core/finder-pattern.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/qrcode/lib/core/format-info.js","webpack:///./node_modules/vue-qrcode/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/vue-qrcode/lib/index.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/qrcode/lib/core/alphanumeric-data.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/swiper/esm/vue/swiper-slide.js","webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack:///./node_modules/qrcode/lib/core/qrcode.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/qrcode/lib/core/mode.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/qrcode/lib/core/segments.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/qrcode/lib/core/version.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/qrcode/lib/browser.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/qrcode/lib/core/alignment-pattern.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/qrcode/lib/core/numeric-data.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/vue-sweetalert2/dist/vue-sweetalert.umd.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","encodeUtf8","Mode","ByteData","data","this","mode","BYTE","Uint8Array","getBitsLength","length","prototype","getLength","write","bitBuffer","i","l","put","numeric","alphanumeric","kanji","replace","byte","KANJI","RegExp","BYTE_KANJI","NUMERIC","ALPHANUMERIC","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","testKanji","str","testNumeric","testAlphanumeric","V8_VERSION","fails","Object","getOwnPropertySymbols","symbol","Symbol","sham","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","f","O","P","error","toLength","obj","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","defaults","interceptors","request","response","config","arguments","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","then","shift","newConfig","onFulfilled","onRejected","reject","getUri","params","paramsSerializer","uncurryThis","toObject","floor","Math","charAt","stringSlice","slice","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","m","symbols","match","ch","capture","n","createElement","defineProperty","get","a","$String","argument","callback","arr","dijkstra","single_source_shortest_paths","graph","s","d","predecessors","costs","closest","u","v","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","open","PriorityQueue","make","empty","pop","value","cost","hasOwnProperty","msg","join","Error","extract_shortest_path_from_predecessor_list","nodes","reverse","find_path","opts","key","T","t","queue","sorter","default_sorter","b","item","sort","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","split","makeBuiltIn","name","options","getter","setter","configurable","arity","constructor","writable","state","source","Function","toString","$","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","TypeError","FORCED","target","proto","forced","len","argCount","$documentAll","documentAll","all","IS_HTMLDDA","it","fn","thisArg","args","isNullOrUndefined","$TypeError","toIntegerOrInfinity","max","min","index","integer","global","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","_inheritsLoose","subClass","superClass","create","__proto__","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","Proxy","Date","_construct","Parent","Class","Constructor","bind","instance","_isNativeFunction","indexOf","_wrapNativeSuper","_cache","Map","has","set","Wrapper","enumerable","_assertThisInitialized","self","ReferenceError","makeReactive","Dom7","_Array","items","_this","arrayFlat","res","el","isArray","arrayFilter","filter","arrayUnique","uniqueArray","qsa","selector","context","querySelectorAll","window","document","html","toCreate","tempParent","innerHTML","childNodes","nodeType","addClass","_len","classes","_key","classNames","map","c","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","toggleClass","_len3","_key3","className","toggle","hasClass","_len4","_key4","contains","attr","attrs","getAttribute","setAttribute","attrName","removeAttr","removeAttribute","transform","style","transition","duration","transitionDuration","on","_len5","_key5","eventType","targetSelector","listener","handleLiveEvent","eventData","dom7EventData","is","_parents","parents","k","handleEvent","j","events","_event","dom7LiveListeners","proxyListener","addEventListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","removeEventListener","splice","trigger","_len9","_key9","CustomEvent","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","includeMargins","_styles","styles","offsetWidth","parseFloat","getPropertyValue","_styles2","offsetHeight","offset","box","getBoundingClientRect","body","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","getComputedStyle","css","props","_prop","each","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parentNode","_parent","find","foundElements","found","children","removeChild","noTrigger","shortcut","eventHandler","Methods","outerWidth","outerHeight","parent","keys","methodName","GF","mul","p1","p2","coeff","mod","divident","divisor","generateECPolynomial","degree","poly","exp","isValid","version","isNaN","userAgent","Deno","versions","v8","message","code","__CANCEL__","Utils","KanjiData","toSJIS","encode","val","encodeURIComponent","serializedParams","parts","isDate","toISOString","hashmarkIndex","navigator","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","MAX_SAFE_INTEGER","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","location","requestURL","parsed","SILENT_ON_NON_WRITABLE_LENGTH_SET","isPrototypeOf","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","plugin","hook","targetQueue","onQueue","defaultSettings","settings","id","defaultValue","localSettingsSaveId","currentSettings","assign","raw","localStorage","getItem","fallbacks","setItem","pluginId","setSettings","proxiedOn","_target","prop","proxiedTarget","includes","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","list","__VUE_DEVTOOLS_PLUGINS__","emit","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","x","y","qrToPath","size","margin","path","moveBy","newRow","lineLength","col","row","render","qrData","cb","getOptions","modules","qrcodesize","bg","light","dark","viewBox","width","svgTag","clearCanvas","ctx","canvas","clearRect","height","getCanvasElement","canvasEl","getContext","getImageWidth","image","createImageData","qrToImageData","putImageData","renderToDataURL","type","rendererOpts","toDataURL","quality","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","classof","$Object","propertyIsEnumerable","MATCH","isRegExp","hex2rgba","hexCode","hexValue","parseInt","r","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","createError","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","__EXTEND_POINT__","createCompileError","loc","domain","messages","SyntaxError","defaultOnError","createPosition","line","column","createLocation","start","end","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","peek","reset","resetPeek","skipToPeek","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","onError","emitError","pos","err","getToken","token","getEndToken","eat","scnr","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isPluralStart","detectModuloStart","spaces","isModulo","hasSpace","isTextStart","detectModulo","takeChar","takeIdentifierChar","closure","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","createTransformer","ast","helpers","Set","helper","traverseNodes","transformer","traverseNode","linked","from","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","indentLevel","_newline","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","baseCompile","assignedOptions","IntlifyDevToolsHooks","I18nInit","FunctionTranslate","pathStateMachine","literalValueRE","isLiteral","stripQuotes","getPathCharType","formatSubPath","trimmed","newChar","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","hit","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","abs","getPluralIndex","pluralIndex","named","count","normalizeNamed","createMessageContext","locale","pluralRule","pluralRules","orgPluralRule","_list","_named","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","initI18nDevTools","i18n","meta","timestamp","now","translateDevTools","createDevToolsHook","payloads","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","block","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","lower","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","onWarn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","handleMissing","updateFallbackLocale","defaultOnCacheKey","compileCache","compileToFunction","onCacheKey","cached","occurred","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","targetLocale","resolveMessageFormat","format","cacheBaseKey","errorDetector","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","resolveValue","locales","to","missingRet","getCompileOptions","msgCtx","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","dateTime","startsWith","getTime","clearDateTimeFormat","delete","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","initFeatureFlags","needWarn","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","code$1","inc$1","I18nWarnCodes","FALLBACK_TO_ROOT","NOT_SUPPORTED_PRESERVE","NOT_SUPPORTED_FORMATTER","NOT_SUPPORTED_PRESERVE_DIRECTIVE","NOT_SUPPORTED_GET_CHOICE_INDEX","COMPONENT_NAME_LEGACY_COMPATIBLE","NOT_FOUND_PARENT_SCOPE","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSLALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSLALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TransrateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOption","handleFlatJson","subKeys","lastIndex","currentObj","getLocaleMessages","__i18n","flatJson","custom","resource","deepCopy","isNotObjectOrIsArray","src","des","getComponentOptions","adjustI18nResources","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","createTextNode","DEVTOOLS_META","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","_isGlobal","_inheritLocale","inheritLocale","_locale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","getCoreContext","framework","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","root","rt","transrateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","composer","__injectWithOption","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","reduce","createVueI18n","vueI18n","availableLocales","__composer","componentInstanceCreatedListener","baseFormatProps","tag","scope","getInterpolateArg","slots","slot","arg","getFragmentableTag","Translation","keypath","required","Number","useI18n","useScope","__useComponent","assignedAttrs","isVNode","renderFormatter","slotKeys","partFormatter","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","_process","parsedValue","parseValue","makeParams","register","__i18nWatcher","$forceUpdate","unregister","update","getSSRProps","created","unmounted","beforeUpdate","app","pluginOptions","useI18nComponentName","globalInstall","component","directive","defineMixin","vuei18n","$options","optionsI18n","$root","$i18n","mergeToRoot","__onComponentInstanceCreated","__setInstance","$t","$rt","$tc","tc","$te","$d","$n","$tm","__deleteInstance","I18nInjectionKey","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","__instances","globalScope","__global","createGlobal","__VUE_I18N_SYMBOL__","provide","injectGlobalFields","mixin","unmountApp","unmount","dispose","stop","isCE","appContext","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","run","useComponent","isLocale","_composer","warpWithDeps","wrapper","isGlobal","globalExportProps","globalExportMethods","desc","wrap","globalProperties","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__","input","pref","valueOf","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","Clipboard","VueClipboardConfig","autoSetContainer","appendToBody","VueClipboard","install","Vue","globalPrototype","$clipboardConfig","$copyText","container","fakeElement","clipboard","destroy","click","vnode","_vClipboard_success","_vClipboard_error","_vClipboard","unbind","supported","perf","isPerformanceSupported","_a","performance","perf_hooks","transformData","isCancel","Cancel","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","extend","noExtend","__swiper__","needsNavigation","navigation","nextEl","prevEl","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","storeKey","forEachValue","isPromise","assert","condition","partial","genericSubscribe","subs","resetStore","store","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreState","oldState","_state","oldScope","_scope","getters","_makeLocalGettersCache","wrappedGetters","computedObj","computedCache","strict","enableStrictMode","_withCommit","rootState","isRoot","namespace","getNamespace","namespaced","console","parentState","getNestedState","moduleName","warn","local","makeLocalContext","forEachMutation","mutation","namespacedType","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","dispatch","_type","_payload","_options","unifyObjectStyle","payload","commit","defineProperties","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","_devtoolHook","catch","rawGetter","_committing","deep","flush","LABEL_VUEX_BINDINGS","MUTATIONS_LAYER_ID","ACTIONS_LAYER_ID","INSPECTOR_ID","actionId","addDevtools","label","homepage","logo","packageName","componentStateTypes","api","addTimelineLayer","COLOR_LIME_500","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","flattenStoreForInspectorTree","rootNodes","formatStoreForInspectorTree","getInspectorState","modulePath","nodeId","formatStoreForInspectorState","getStoreModule","editInspectorState","Boolean","subscribe","notifyComponentUpdate","sendInspectorTree","sendInspectorState","addTimelineEvent","layerId","time","subscribeAction","before","_id","_time","groupId","subtitle","after","_custom","display","tooltip","COLOR_DARK","COLOR_WHITE","TAG_NAMESPACED","textColor","backgroundColor","extractNameFromPath","tags","_children","endsWith","gettersKeys","storeState","editable","tree","transformPathsToObjectTree","canThrow","leafKey","abstract","moduleMap","names","Module","rawModule","runtime","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","hasChild","mutations","ModuleCollection","rawRootModule","targetModule","newModule","assertRawModule","this$1$1","rawChildModule","isRegistered","functionAssert","expected","objectAssert","assertTypes","makeAssertionMessage","createStore","Store","plugins","_actionSubscribers","_subscribers","_devtools","ref","prototypeAccessors","injectKey","$store","useDevtools","sub","silent","watch","replaceState","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapGetters","mapActions","IS_PURE","copyright","license","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","BitMatrix","reservedBit","reserved","xor","isReserved","point","second","trunc","tryToString","requireObjectCoercible","getMethod","getRegExpFlags","getSubstitution","REPLACE","stringIndexOf","string","searchValue","replaceAll","replaceValue","IS_REG_EXP","flags","replacer","searchString","functionalReplace","searchLength","advanceBy","endOfLastMatch","bitmap","_extends","Pagination","swiper","rtl","$el","slidesLength","virtual","enabled","slides","total","loop","ceil","loopedSlides","slidesPerGroup","snapGrid","activeIndex","paginationType","snapIndex","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","isHorizontal","dynamicMainBullets","previousIndex","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","_i","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scaleX","scaleY","progressbarFillClass","speed","renderCustom","watchOverflow","isLocked","lockClass","paginationHTML","numberOfBullets","freeMode","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","init","createElements","uniqueNavElements","clickable","clickableClass","modifierClass","progressbarOppositeClass","preventDefault","slideTo","hiddenClass","hideOnClick","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","targetEl","isHidden","FunctionPrototype","getDescriptor","EXISTS","PROPER","isBrowser","isESModule","__esModule","toStringTag","applyToParams","newParams","noop","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","hashPos","searchPos","resolveRelativePath","fullPath","stringifyURL","stringifyQuery","stripBase","base","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","every","fromSegments","toSegments","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","querySelector","BEFORE_HASH_RE","createHref","getElementPosition","docRect","documentElement","elRect","behavior","computeScrollPosition","pageXOffset","pageYOffset","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","scrollTo","getScrollKey","delta","history","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","listeners","teardowns","pauseState","popStateHandler","fromState","direction","forward","back","unknown","pauseListeners","listen","teardown","beforeUnloadListener","buildState","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","redirectedFrom","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","score","pattern","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","matcher","alias","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","mergeOptions","normalizedRecords","aliases","components","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","redirect","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","parentMatcher","mergeMetaFields","beforeEnter","normalizeRecordProps","instances","leaveGuards","updateGuards","enterCallbacks","propsObject","partialOptions","some","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeURI","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","decodeURIComponent","hasLeadingIM","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","guard","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","__vccOpts","componentPromise","resolved","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","findIndex","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","compatConfig","MODE","activeClass","exactActiveClass","ariaCurrentValue","link","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","onClick","class","RouterLink","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","inheritAttrs","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","normalizeSlot","Component","routePropsOption","routeProps","onVnodeUnmounted","isUnmounted","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","listening","ready","readyHandlers","errorHandlers","isReady","started","installedApps","beforeEach","beforeResolve","afterEach","$router","reactiveRoute","recordFrom","recordTo","686","execCommand","fontSize","border","padding","HTMLInputElement","iterator","hasAttribute","h","resolveOptions","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clearSelection","focus","getSelection","removeAllRanges","828","Element","matchesSelector","mozMatchesSelector","oMatchesSelector","438","879","HTMLElement","nodeList","370","817","nodeName","select","setSelectionRange","createRange","selectNodeContents","addRange","279","once","_","TinyEmitter","EXP_TABLE","LOG_TABLE","log","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","metadata","facade","STATE","sfc","allCountries","allCountries$1","iso2","dialCode","getCountry","fetch","result2","setCaretPosition","ctrl","createTextRange","range","collapse","moveEnd","moveStart","allProps","inDemo","defaultOptions","prv","crr","nestedKey","withMetadataArgument","func","_arguments","_typeof$2","obj2","_defineProperties$2","_createClass$2","protoProps","staticProps","_classCallCheck$2","_inherits","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","Class2","Parent2","args2","o2","ParseError","_Error","ParseError2","_super","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS","compare","pa","pb","na","nb","_typeof$1","_classCallCheck$1","_defineProperties$1","_createClass$1","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","Metadata2","metadata2","validateMetadata","setVersion","countries","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","ext","country_phone_code_to_countries","country_calling_codes","NumberingPlan2","globalMetadataObject","formats2","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","Format2","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","Type2","is_object","type_of","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","isViablePhoneNumberStart","EXTN_PATTERN","extractExtension","numberWithoutExtension","DIGITS","parseDigit","character","_createForOfIteratorHelperLoose$5","allowArrayLike","_unsupportedIterableToArray$6","done","minLen","_arrayLikeToArray$6","arr2","parseIncompletePhoneNumber","_step","_iterator","parsePhoneNumberCharacter","prevParsedCharacters","_createForOfIteratorHelperLoose$4","_unsupportedIterableToArray$5","_arrayLikeToArray$5","mergeArrays","merged","element","a2","b2","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","actual_length","minimum_length","isPossiblePhoneNumber","phone","isPossibleNumber","isNonGeographicCallingCode","_slicedToArray$1","_arrayWithHoles$1","_iterableToArrayLimit$1","_unsupportedIterableToArray$4","_nonIterableRest$1","_s","_e","_arr","_n","_d","_createForOfIteratorHelperLoose$3","_arrayLikeToArray$4","parseRFC3966","_part$split","_part$split2","formatRFC3966","_ref","matchesEntirely","regular_expression","_createForOfIteratorHelperLoose$2","_unsupportedIterableToArray$3","_arrayLikeToArray$3","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","isValidNumber","national_number","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","_createForOfIteratorHelperLoose$1","_unsupportedIterableToArray$2","_arrayLikeToArray$2","ownKeys$4","object","enumerableOnly","sym","_objectSpread$4","_defineProperty$4","getOwnPropertyDescriptors","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","formatNationalNumber","addExtension","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","formatExtension2","fromCountryCallingCode","iddPrefix","ownKeys$3","_objectSpread$3","_defineProperty$3","_classCallCheck","_defineProperties","_createClass","PhoneNumber","PhoneNumber2","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","_createForOfIteratorHelperLoose","_unsupportedIterableToArray$1","_arrayLikeToArray$1","USE_NON_GEOGRAPHIC_COUNTRY_CODE","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","defaultCountry","_parseInput","parseInput","extract","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber$1","defaultCallingCode","hasSelectedNumberingPlan","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","ownKeys$2","_objectSpread$2","_defineProperty$2","parsePhoneNumber","_typeof","ownKeys$1","_objectSpread$1","_defineProperty$1","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","ownKeys","_objectSpread","_defineProperty","parsePhoneNumberFromString$2","parsePhoneNumberFromString$1","_normalizeArguments","parsePhoneNumberFromString","clickOutside","vNode","compName","expression","clickOutsideEvent","_export_sfc","getDefault","_sfc_main","directives","modelValue","autoFormat","customValidate","disabled","autoDefaultCountry","dropdownOptions","ignoredCountries","inputOptions","invalidMsg","onlyCountries","preferredCountries","validCharactersOnly","styleClasses","activeCountryCode","finishMounted","selectedIndex","typeToFindInput","typeToFindTimer","dropdownOpenDirection","parsedPlaceholder","placeholder","computed","findCountry","getCountries","preferred","filteredCountries","_b","_c","phoneObject","formatted","parsedMode","activeCountry","oldValue","$emit","emitInput","$nextTick","resetPlaceholder","testCharacters","onInput","isDropdownOpened","setDropdownPosition","cleanInvalidCharacters","initializeCountry","showDialCode","methods","choose","findCountryByDialCode","fallbackCountry","iso","index2","highlighted","lastPreferred","parsedCountry","formatInternational","currentPhone","results","testCustomValidate","$refs","setCustomValidity","keyCode","sortedCountries","selEle","offsetTop","clientHeight","clearTimeout","typedCountryI","needToScrollTop","needToScrollBottom","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_render","_ctx","$props","$setup","$data","_directive_click_outside","role","tabindex","onKeydown","keyboardNav","toggleDropdown","showFlags","showDialCodeInSelection","$slots","getItemClass","$event","onMousemove","showDialCodeInList","clickedOutside","autocomplete","autofocus","maxlength","readonly","onBlur","onFocus","onKeyup","onEnter","onSpace","VueTelInput","customOptions","customDropdownOptions","customInputOptions","otherCustomOptions","defaultDropdownOptions","defaultInputOptions","otherDefaultOptions","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","supportsPassive","gestures","getSupport","calcDevice","_temp","support","ua","device","ios","android","screenWidth","screen","screenHeight","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","calcBrowser","isSafari","isEdge","isWebView","getBrowser","ResizeObserver","resize","createObserver","destroyed","initialized","entries","newWidth","newHeight","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","observerUpdate","requestAnimationFrame","attributes","childList","characterData","observers","observeParents","containerParents","observeSlideChildren","$wrapperEl","disconnect","useParams","instanceParams","useModules","modulesParams","moduleParams","moduleEventName","priority","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventsArray","updateSize","clientWidth","isVertical","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","swiperSize","rtlTranslate","wrongRTL","isVirtual","previousSlidesLength","slideClass","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","slidesPerColumn","slidesPerView","slidesPerColumnFill","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide$","swiperSlideSize","centeredSlides","slidesPerGroupSkip","effect","setWrapperSize","slidesGridItem","_i2","_slidesGridItem","_slides$filter$css","slideIndex","cssMode","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","visibleSlides","swiperSlideOffset","offsetLeft","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","isVisible","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getSwiperTranslate","axis","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","wrapperEl","z","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","_wrapperEl$scrollTo","isH","onTranslateToWrapperTransitionEnd","getTranslate","transitionStart","initial","indexAsNumber","isFinite","initialSlide","normalizedTranslate","normalizedGird","normalizedGridNext","allowSlideNext","allowSlidePrev","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","prevIndex","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","threshold","currentSnap","nextSnap","_currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","slideChanged","_slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","cursor","unsetGrabCursor","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","closestElement","__closestFrom","assignedSlot","getRootNode","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","which","isTouched","isMoved","swipingClassHasValue","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","activeElement","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","velocities","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","onResize","breakpoints","setBreakpoint","autoplay","running","paused","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","move","passiveListeners","passive","cancel","updateOnWindowResize","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","containerModifierClass","emitContainerClasses","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","points","minRatio","_points$i","matchMedia","prepareClasses","prefix","resultClasses","addClasses","suffixes","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","onReady","isPicture","complete","Image","onload","onerror","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","lastSlidePosition","wrapperClass","_emitClasses","prototypes","modular","eventsEmitter","manipulation","images","extendedDefaults","Swiper","swipers","moduleParamName","auto","swiperParams","passedParams","eventName","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","_proto","setProgress","getSlideClasses","slideEl","updates","spv","breakLoop","translated","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","use","prototypeGroup","protoMethod","deleteProps","delay","currentStyle","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","nextSource","keysArray","nextIndex","nextKey","bindModuleMethods","subKey","classesToSelector","createElementIfNotDefined","$container","checkProps","reactivity","assertNumber","callWithErrorHandling","handleError","callWithAsyncErrorHandling","isFunction","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","findInsertionIndex","middle","middleJobId","getId","queueJob","job","allowRecurse","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","flushPreFlushCbs","seen","pre","flushPostFlushCbs","deduped","Infinity","comparator","NOOP","active","setDevtoolsHook","replay","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","rawArgs","EMPTY_OBJ","isModelListener","modelArg","modifiersKey","looseToNumber","handlerName","toHandlerKey","camelize","hyphenate","emitted","normalizeEmitsOptions","asMixin","emitsCache","emits","normalized","hasExtends","extendEmits","normalizedFromExtend","mixins","extends","isEmitListener","isOn","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","withCtx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","withProxy","propsOptions","renderCache","setupState","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","blockStack","createVNode","Comment","filterModelListeners","cloneVNode","dirs","filterSingleRoot","singleRoot","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","isSuspense","__isSuspense","SuspenseImpl","n1","n2","anchor","parentComponent","parentSuspense","isSVG","slotScopeIds","rendererInternals","mountSuspense","patchSuspense","hydrate","hydrateSuspense","createSuspenseBoundary","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","patch","hiddenContainer","suspense","pendingBranch","ssContent","deps","ssFallback","setActiveBranch","um","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","effects","toNumber","resume","delayEnter","afterLeave","hasUnresolvedAncestor","fallbackVNode","mountFallback","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","doRemove","hydrateNode","isSlotChildren","normalizeSuspenseSlot","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","dynamicChildren","queueEffectWithSuspense","branch","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","watchEffect","doWatch","watchPostEffect","watchSyncEffect","INITIAL_WATCHER_VALUE","immediate","onTrack","onTrigger","getCurrentScope","cleanup","forceTrigger","isMultiSource","isRef","isShallow","isReactive","traverse","onCleanup","baseGetter","ssrCleanup","onStop","isInSSRComponentSetup","useSSRContext","__watcherHandles","fill","newValue","hasChanged","scheduler","queuePostRenderEffect","uid","ReactiveEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","isSet","isMap","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionImpl","appear","persisted","onBeforeEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","rawProps","toRaw","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","callAsyncHook","hooks","leavingVNode","afterHook","cancelHook","called","_enterCb","cancelled","isKeepAlive","clone","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","setup","isAsyncWrapper","__asyncLoader","defineAsyncComponent","loader","loadingComponent","errorComponent","suspensible","userOnError","resolvedComp","pendingRequest","retries","retry","load","thisRequest","userRetry","userFail","createInnerComp","loaded","delayed","ce","__isKeepAlive","KeepAliveImpl","include","exclude","sharedContext","renderer","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","activate","isDeactivated","invokeArrayFns","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","__asyncResolved","cachedVNode","KeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","__weh","pauseTracking","resetTracking","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","internalInstance","getExposeProxy","bindings","updated","invokeDirectiveHook","oldBindings","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","registry","renderList","renderItem","createSlots","dynamicSlots","renderSlot","noSlotted","validSlotContent","ensureValidVNode","rendered","createBlock","scopeId","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$attrs","$parent","resolveMergedOptions","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","track","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","isGloballyWhitelisted","applyOptions","beforeCreate","dataOptions","computedOptions","watchOptions","provideOptions","injectOptions","beforeMount","activated","deactivated","beforeDestroy","beforeUnmount","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","filters","checkDuplicateProperties","resolveInjections","unwrapInjectedRef","methodHandler","reactive","opt","createWatcher","registerLifecycleHook","_hook","exposed","unwrapRef","normalizeInject","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","initProps","isStateful","isSSR","def","InternalObjectKey","propsDefaults","setFullProps","shallowReactive","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","isReservedProp","camelKey","castValues","isAbsent","hasDefault","normalizePropsOptions","propsCache","extendProps","EMPTY_ARR","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","ctor","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createAppContext","isNativeTag","NO","warnHandler","compilerOptions","uid$1","createAppAPI","rootComponent","rootProps","installedPlugins","_uid","_component","_props","_container","_instance","rootContainer","isHydrate","__vue_app__","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","createHydrationFunctions","mt","mountComponent","patchProp","createText","nextSibling","insert","createComment","hasChildNodes","_vnode","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAsyncAnchor","lastChild","createTextVNode","hydrateChildren","forcePatchValue","vnodeHooks","onVnodeBeforeMount","parentVNode","fragmentSlotScopeIds","isFragment","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","getGlobalThis","__VUE__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","mountChildren","unmountChildren","needCallTransitionHooks","enter","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","registerDep","updateComponentPreRender","componentUpdateFn","bu","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","newLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","increasingNewIndexSequence","getSequence","moveType","needTransition","leave","performLeave","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","performRemove","bum","mc","pc","pbc","createApp","allowed","shallow","ch1","ch2","arrI","isTeleport","__isTeleport","isTeleportDisabled","isTargetSVG","SVGElement","resolveTarget","TeleportImpl","mainAnchor","targetAnchor","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","hydrateTeleport","isReorder","targetNode","_lpa","Teleport","ut","disableTracking","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","normalizeClass","isProxy","normalizeStyle","extraProps","mergeRef","mergedProps","mergeProps","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","EffectScope","exposeProxy","setupContext","bc","rtg","rtc","sp","compile","installWithProxy","setupResult","setupStatefulComponent","markRaw","createSetupContext","resolvedResult","finishComponentSetup","__ssrInlineRender","ssrRender","proxyRefs","registerRuntimeCompiler","_compile","_rc","isRuntimeOnly","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","createAttrsProxy","includeInferred","displayName","__name","getterOrOptions","debugOptions","defineProps","defineEmits","defineExpose","withDefaults","useSlots","useAttrs","mergeDefaults","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","propsOrChildren","ssrContextKey","initCustomFormatter","withMemo","isMemoSame","_ssrUtils","ssrUtils","resolveFilter","compatUtils","customRef","effectScope","isReadonly","onScopeDispose","shallowReadonly","shallowRef","toRef","toRefs","triggerRef","unref","normalizeProps","toDisplayString","createElementVNode","Coverflow","swiperWidth","swiperHeight","coverflowEffect","center","rotate","$slideEl","slideOffset","offsetMultiplier","rotateY","rotateX","translateZ","stretch","translateY","translateX","slideTransform","zIndex","round","slideShadows","$shadowBeforeEl","$shadowAfterEl","opacity","beforeInit","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","N1","N2","N3","N4","getMaskAt","maskPattern","mask","getPenaltyN1","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","applyMask","getBestMask","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","fromString","lcStr","bit","expires","secure","cookie","isNumber","toGMTString","read","right","basePlacements","viewport","variationPlacements","acc","placement","beforeRead","afterRead","beforeMain","main","afterMain","beforeWrite","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","defaultView","isElement","OwnElement","isHTMLElement","isShadowRoot","ShadowRoot","applyStyles","elements","_ref2","initialStyles","popper","strategy","arrow","reference","styleProperties","attribute","phase","requires","getBasePlacement","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","visualViewport","addVisualOffsets","getLayoutRect","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","offsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","perspective","contain","willChange","getOffsetParent","getMainAxisFromPlacement","within","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","rects","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$scroll","_options$resize","scrollParents","scrollParent","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","getWindowScrollBarX","getViewportRect","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","scrollHeight","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","clippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","placements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","distanceAndSkiddingToXY","invertDistance","skidding","_options$offset","_data$state$placement","getAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","visited","dep","depModifier","orderModifiers","orderedModifiers","debounce","pending","mergeByName","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","runModifierEffects","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","onFirstUpdate","eventListeners","elementMap","Data","instanceMap","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","CSS","escape","toType","getUID","random","getTransitionDurationFromElement","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","Event","jquery","getElement","getClientRects","elementIsVisible","closedDetails","summary","isDisabled","Node","ELEMENT_NODE","findShadowRoot","attachShadow","reflow","getjQuery","jQuery","DOMContentLoadedCallbacks","onDOMContentLoaded","readyState","isRTL","defineJQueryPlugin","NAME","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","execute","possibleCallback","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","getNextActiveElement","shouldGetNext","isCycleAllowed","listLength","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","makeEventUid","getElementEvents","bootstrapHandler","hydrateObj","oneOff","EventHandler","bootstrapDelegationHandler","domElements","domElement","findHandler","callable","delegationSelector","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","previousFunction","removeHandler","removeNamespacedHandlers","storeElementEvent","handlerKey","inNamespace","isNamespace","elementEvent","keyHandlers","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","_unused","normalizeData","normalizeDataKey","chr","Manipulator","bsKeys","dataset","pureKey","Config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","getDataAttribute","Default","getDataAttributes","configTypes","DefaultType","valueType","BaseComponent","super","_element","_config","_getConfig","DATA_KEY","EVENT_KEY","propertyName","isAnimated","getInstance","getSelector","hrefAttribute","SelectorEngine","ancestor","previous","focusables","findOne","enableDismissTrigger","clickEvent","getElementFromSelector","getOrCreateInstance","NAME$f","DATA_KEY$a","EVENT_KEY$b","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE$5","CLASS_NAME_SHOW$8","Alert","closeEvent","_queueCallback","_destroyElement","NAME$e","DATA_KEY$9","EVENT_KEY$a","DATA_API_KEY$6","CLASS_NAME_ACTIVE$3","SELECTOR_DATA_TOGGLE$5","EVENT_CLICK_DATA_API$6","Button","NAME$d","EVENT_KEY$9","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default$c","endCallback","leftCallback","rightCallback","DefaultType$c","Swipe","isSupported","_deltaX","_supportPointerEvents","_initEvents","_eventIsPointerPenTouch","clientX","_handleSwipe","absDeltaX","_start","_end","_move","pointerType","NAME$c","DATA_KEY$8","EVENT_KEY$8","DATA_API_KEY$5","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN$1","EVENT_MOUSEENTER$1","EVENT_MOUSELEAVE$1","EVENT_DRAG_START","EVENT_LOAD_DATA_API$3","EVENT_CLICK_DATA_API$5","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE$2","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default$b","interval","keyboard","pause","ride","DefaultType$b","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","hidden","_clearInterval","_updateInterval","setInterval","nextWhenVisible","one","_getItems","_getItemIndex","_getActive","defaultInterval","_keydown","_maybeEnableCycle","_addTouchEventListeners","img","endCallBack","swipeConfig","_directionToOrder","activeIndicator","newActiveIndicator","elementInterval","isNext","nextElement","nextElementIndex","_orderToDirection","slideEvent","isCycling","_setActiveIndicatorElement","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","carousels","NAME$b","DATA_KEY$7","EVENT_KEY$7","DATA_API_KEY$4","EVENT_SHOW$6","EVENT_SHOWN$6","EVENT_HIDE$6","EVENT_HIDDEN$6","EVENT_CLICK_DATA_API$4","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE$4","Default$a","DefaultType$a","Collapse","_isTransitioning","_triggerArray","toggleList","elem","getSelectorFromElement","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","capitalizedDimension","scrollSize","selected","triggerArray","isOpen","getMultipleElementsFromSelector","NAME$a","DATA_KEY$6","EVENT_KEY$6","DATA_API_KEY$3","ESCAPE_KEY$2","TAB_KEY$1","ARROW_UP_KEY$1","ARROW_DOWN_KEY$1","RIGHT_MOUSE_BUTTON","EVENT_HIDE$5","EVENT_HIDDEN$5","EVENT_SHOW$5","EVENT_SHOWN$5","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW$6","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE$3","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default$9","autoClose","popperConfig","DefaultType$9","_popper","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","_completeHide","hideEvent","removeDataAttribute","referenceElement","_getPopperConfig","parentDropdown","popperData","defaultBsPopperConfig","_getPlacement","_getOffset","setDataAttribute","openToggles","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","_selectMenuItem","dataApiKeydownHandler","clearMenus","NAME$9","CLASS_NAME_FADE$4","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Default$8","clickCallback","rootElement","DefaultType$8","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","NAME$8","DATA_KEY$5","EVENT_KEY$5","EVENT_FOCUSIN$2","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","Default$7","trapElement","DefaultType$7","FocusTrap","_isActive","_lastTabNavDirection","_handleFocusin","_handleKeydown","focusableChildren","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","documentWidth","getWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","_saveInitialAttribute","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","sel","NAME$7","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$2","ESCAPE_KEY$1","EVENT_HIDE$4","EVENT_HIDE_PREVENTED$1","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","EVENT_RESIZE$1","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_CLICK_DATA_API$2","CLASS_NAME_OPEN","CLASS_NAME_FADE$3","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","OPEN_SELECTOR$1","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE$2","Default$6","DefaultType$6","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","alreadyOpen","NAME$6","DATA_KEY$3","EVENT_KEY$3","DATA_API_KEY$1","EVENT_LOAD_DATA_API$2","ESCAPE_KEY","CLASS_NAME_SHOW$3","CLASS_NAME_SHOWING$1","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_HIDE$3","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$3","EVENT_RESIZE","EVENT_CLICK_DATA_API$1","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE$1","Default$5","DefaultType$5","Offcanvas","completeCallback","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","small","span","sup","strong","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","NAME$5","Default$4","extraClass","sanitize","sanitizeFn","DefaultType$4","DefaultContentType","TemplateFactory","_resolvePossibleFunction","getContent","_checkContent","templateWrapper","_maybeSanitize","_setContent","templateElement","_putElementInTemplate","NAME$4","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE$2","CLASS_NAME_MODAL","CLASS_NAME_SHOW$2","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_HIDE$2","EVENT_HIDDEN$2","EVENT_SHOW$2","EVENT_SHOWN$2","EVENT_INSERTED","EVENT_CLICK$1","EVENT_FOCUSIN$1","EVENT_FOCUSOUT$1","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","animation","customClass","DefaultType$3","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","toHtml","tipId","changeContent","_getDelegateConfig","attachment","triggers","_initializeOnDelegatedTarget","eventIn","eventOut","_setTimeout","dataAttributes","dataAttribute","NAME$3","SELECTOR_TITLE","SELECTOR_CONTENT","Default$2","DefaultType$2","Popover","_getContent","NAME$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY","EVENT_ACTIVATE","EVENT_CLICK","EVENT_LOAD_DATA_API$1","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$1","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE$1","Default$1","rootMargin","smoothScroll","DefaultType$1","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","IntersectionObserver","_observerCallback","targetElement","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","decodeURI","_activateParents","listGroup","activeNodes","spy","NAME$1","DATA_KEY$1","EVENT_KEY$1","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK_DATA_API","EVENT_KEYDOWN","EVENT_LOAD_DATA_API","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","CLASS_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_DATA_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","isInteracting","_onInteraction","BitBuffer","bufIndex","putBit","getLengthInBits","toSJISFunction","CODEWORDS_COUNT","getSymbolSize","getSymbolTotalCodewords","getBCHDigit","digit","setToSJISFunction","isKanjiModeEnabled","svgNS","doc","templateContainer","nodeOps","createElementNS","multiple","patchClass","transitionClasses","_vtc","patchStyle","isCssString","setStyle","currentDisplay","cssText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","_value","needRemove","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","defineCustomElement","Comp","VueCustomElement","VueElement","initialProps","defineSSRCustomElement","BaseClass","_def","_connected","_resolved","_numberProps","_resolveProps","_update","_resolveDef","_setAttr","isAsync","numberProps","_applyStyles","asyncDef","declaredPropKeys","_setProp","_getProp","shouldReflect","shouldUpdate","useCssModule","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","ob","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","positionMap","newPositionMap","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","_moveCb","cssTransitionProps","TransitionGroup","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","composing","onCompositionEnd","vModelText","lazy","_assign","castToNumber","domValue","vModelCheckbox","_modelValue","elementValue","getValue","checked","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","setSelected","_binding","isMultiple","option","optionValue","vModelDynamic","callModelHook","resolveDynamicModel","modelToUse","initVModelForSSR","systemModifiers","modifierGuards","prevent","alt","exact","withModifiers","keyNames","esc","space","up","down","withKeys","eventKey","vShow","_vod","setDisplay","initVShowForSSR","rendererOptions","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","createSSRApp","ssrDirectiveInitialized","initDirectivesForSSR","Navigation","toggleEl","disabledClass","_swiper$navigation","$nextEl","$prevEl","onPrevClick","onNextClick","_swiper$navigation2","toEdge","fromEdge","_swiper$navigation3","_swiper$navigation4","isAbsoluteURL","combineURLs","baseURL","requestedURL","thing","deprecatedWarnings","schema","allowUnknown","formatMessage","factory","defaultConverter","converter","defaultAttributes","toUTCString","stringifiedAttributes","cookies","jar","foundKey","withAttributes","withConverter","freeze","functionToString","Polynomial","ReedSolomonEncoder","genPoly","initialize","paddedData","remainder","buff","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","unsubscribe","982","useLoading","w","enforceFocus","focusIn","isFullPage","parentElement","cx","cy","dur","repeatCount","xmlns","stroke","begin","calcMode","attributeType","Spinner","Dots","Bars","programmatic","lockScroll","canCancel","onCancel","keyPress","disableScroll","enableScroll","background","backdropFilter","bgStyle","N","$loading","regExpFlags","RegExpPrototype","R","postfix","paramsList","getParams","rest","allowedParams","plainObj","initSwiper","mountSwiper","paginationEl","scrollbarEl","calcLoopedSlides","slidesPerViewParams","renderLoop","swiperRef","modifiedSlides","duplicateSlide","blankSlide","getChangedParams","oldParams","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChildren","originalSlots","slidesRef","oldSlidesRef","getSlidesFromElements","els","slotName","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","updateParams","currentParams","thumbs","controller","control","destroyModule","updateOnVirtualData","parallax","renderVirtual","virtualData","wrapperTag","a11y","cubeEffect","fadeEffect","flipEffect","hashNavigation","mousewheel","zoom","Tag","WrapperTag","containerClasses","breakpointChanged","initializedRef","swiperElRef","oldPassedParamsRef","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","onBeforeBreakpoint","_beforeBreakpoint","_containerClasses","extendWith","renderExternal","renderExternalUpdate","renderSlides","_getParams2","newPassedParams","definePropertyModule","FINDER_PATTERN_SIZE","getPositions","feature","detection","POLYFILL","NATIVE","G15","G15_MASK","G15_BCH","getEncodedBits","__rest","SuppressedError","LEVELS","MASK_PATTERNS","MODES","TYPES","MAX_QR_VERSION","toSJISFunc","dataUrlRef","renderOptions","dataUrl","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","WRITABLE","Attributes","ALPHA_NUM_CHARS","AlphanumericData","makeMap","expectsLowerCase","PatchFlagNames","slotFlagsText","GLOBALS_WHITE_LISTED","generateCodeFrame","lines","newlineSequences","idx","newLineSeqLength","pad","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","stringifyStyle","HTML_TAGS","SVG_TAGS","VOID_TAGS","isHTMLTag","isSVGTag","isVoidTag","specialBooleanAttrs","isSpecialBooleanAttr","isBooleanAttr","includeBooleanAttr","unsafeAttrCharRE","attrValidationCache","isSSRSafeAttrName","isUnsafe","propsToAttrMap","acceptCharset","htmlFor","httpEquiv","isKnownHtmlAttr","isKnownSvgAttr","escapeRE","escapeHtml","escaped","commentStripRE","escapeHtmlComment","looseCompareArrays","equal","looseEqual","aValidType","bValidType","isSymbol","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","objectToString","__v_isRef","onRE","toTypeString","toRawType","isIntegerKey","isBuiltInDirective","cacheStringFunction","camelizeRE","hyphenateRE","fns","NaN","_globalThis","globalThis","identRE","genPropsAccessExp","toPrimitive","SwiperSlide","virtualIndex","eventAttached","slideElRef","slideClasses","updateClasses","slideData","isDuplicate","isPrev","activeEffectScope","detached","_active","cleanups","scopes","currentEffectScope","fromParent","recordEffectScope","createDep","wasTracked","trackOpBit","newTracked","initDepMarkers","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","lastShouldTrack","shouldTrack","cleanupEffect","deferStop","_effect","runner","trackStack","enableTracking","depsMap","eventInfo","trackEffects","debuggerEventExtraInfo","oldTarget","triggerEffects","triggerEffect","getDepFromReactive","isNonTrackableKeys","builtInSymbols","get$1","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","set$1","createSetter","shallowSet","hadKey","deleteProperty","has$1","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","rawTarget","rawKey","toReadonly","toReactive","deleteEntry","clear","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","createInstrumentations","mutableInstrumentations","shallowInstrumentations","readonlyInstrumentations","shallowReadonlyInstrumentations","iteratorMethods","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","trackRefValue","triggerRefValue","newVal","createRef","RefImpl","__v_isShallow","_rawValue","useDirectValue","shallowUnwrapHandlers","objectWithRefs","CustomRefImpl","_get","_set","ObjectRefImpl","_object","_defaultValue","_a$1","ComputedRefImpl","_setter","_dirty","_cacheable","onlyGetter","cRef","tick","queued","DeferredComputedRefImpl","compareTarget","hasCompareTarget","scheduled","computedTrigger","valueToCompare","deferredComputed","AlignmentPattern","FinderPattern","MaskPattern","ECCode","Version","FormatInfo","Segments","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","setupFormatInfo","setupData","bitIndex","byteIndex","createData","getCharCountIndicator","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","getDevtoolsGlobalHook","getTarget","__VUE_DEVTOOLS_GLOBAL_HOOK__","isProxyAvailable","that","hasIndices","ignoreCase","multiline","dotAll","unicodeSets","sticky","settle","buildFullPath","parseHeaders","isURLSameOrigin","onCanceled","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onreadystatechange","responseURL","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","VersionCheck","Regex","ccBits","MIXED","getBestModeForData","dataStr","NumericData","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","segs","getSegmentBitsLength","mergeSegments","curr","prevSeg","buildNodes","seg","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","lastCount","prevNodeId","buildSingleSegment","modesHint","bestMode","array","optimizedSegs","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","ignoreDuplicateOf","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","stripBOM","NATIVE_BIND","SHARED","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getCapacity","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getBestVersionForMixedData","usableBits","ecl","normalizedName","createCommonjsModule","assignSymbols$1","isEnumerable","getSymbols","assignSymbols$2","__moduleExports","assignSymbols","assignDeep","isValidKey","isPrimitive","inBrowser","hasIntersectionObserver","checkIntersectionObserver","IntersectionObserverEntry","intersectionRatio","modeType","getBestSelectionFromSrcset","containerWidth","spaceIndex","tmpSrc","tmpWidth","lastIndexOf","tmpOption","bestSelectedSrc","getDPR","supportWebp","checkWebpFeature","kTestImages","lossy","lossless","throttle","lastRun","elapsed","runCallback","testSupportsPassive","loadImageAsync","cors","crossOrigin","naturalHeight","naturalWidth","ImageCache","_caches","free","ReactiveListener","loading","bindType","elRenderer","imageCache","attempt","_imageCache","performanceData","loadStart","loadEnd","initState","oldSrc","getRect","preLoad","preLoadTop","onFinish","renderLoading","beforeLoad","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","Lazy","throttleWait","listenEvents","observerOptions","lazyContainerMananger","ListenerQueue","TargetIndex","TargetQueue","_initEvent","lazyLoadHandler","_lazyLoadHandler","setMode","vm","_addListenerTarget","_valueFormatter","newListener","_elRenderer","exist","existItem","_removeListenerTarget","$destroy","_initListen","_initIntersectionObserver","childrenCount","listened","$on","$once","$off","inCache","freeList","catIn","checkInView","_observerHandler","useCheckInView","LazyComponent","addLazyBox","removeComponent","LazyContainerMananger","_queue","LazyContainer","imgs","getImgs","LazyImage","renderSrc","lazyContainer","vueVersion","$Lazyload","lazyComponent","lazyImage","simple","unsafe","nonConfigurable","nonWritable","createInstance","defaultConfig","axios","promises","spread","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","toCanvas","aFunction","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","beforeTransitionStart","sliderFirstMove","touchEnd","$propertyIsEnumerable","NASHORN_BUG","1","V","getRowColCoords","posCount","intervals","positions","coords","posLength","$Symbol","aCallable","group","remainingNum","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","extname","startDot","startPart","preDotState","uncurryThisWithBind","relativeURL","getOwnPropertyDescriptorModule","exceptions","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","RE_ARGS","identifier","hasSymbol","makeSymbol","generateFormatCacheKey","friendlyJSONstringify","json","isEmptyObject","rawText","toPromise","titleText","footer","iconColor","iconHtml","toast","showClass","popup","hideClass","heightAuto","allowOutsideClick","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","showConfirmButton","showDenyButton","showCancelButton","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","denyButtonText","denyButtonAriaLabel","denyButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","focusConfirm","focusDeny","focusCancel","returnFocus","showCloseButton","closeButtonHtml","closeButtonAriaLabel","loaderHtml","showLoaderOnConfirm","showLoaderOnDeny","imageUrl","imageWidth","imageHeight","imageAlt","timer","timerProgressBar","inputPlaceholder","inputLabel","inputValue","inputAutoTrim","inputAttributes","inputValidator","returnInputValueOnDeny","validationMessage","grow","progressSteps","currentProgressStep","progressStepsDistance","willOpen","didOpen","didRender","willClose","didClose","didDestroy","scrollbarPadding","C","A","B","E","S","D","I","q","confirm","deny","F","U","W","close","K","Y","Z","J","X","previousBodyPadding","G","tt","et","st","nt","checkbox","radio","ot","at","ct","lt","dt","pt","gt","ht","ft","bt","yt","wt","vt","Ct","kt","previousActiveElement","At","restoreFocusTimeout","Pt","file","textarea","Bt","xt","resetValidationMessage","Et","oninput","onchange","Tt","St","Ot","Lt","jt","Mt","Dt","It","WebkitAnimation","Ht","qt","Vt","Rt","Nt","styled","Ft","Ut","Wt","zt","_t","awaitingPromise","innerParams","domCache","Kt","Jt","Yt","Xt","ee","Zt","Gt","Qt","innerText","insertAdjacentElement","email","tel","attributeFilter","ne","oe","ie","se","ue","de","ae","le","pe","question","warning","borderColor","me","ge","he","fe","be","ye","we","modal","ve","Ce","ke","Ae","Pe","Be","je","xe","Ee","Te","Se","Oe","Le","Me","De","Ie","He","qe","Ve","remaining","Ne","Re","Fe","MSStream","iosfix","We","Ue","paddingBottom","ontouchstart","ze","ontouchmove","Ke","touchType","$e","Ye","Ze","Qe","Xe","Ge","Je","shown","tn","_o","en","nn","cn","ln","getInput","sn","rn","an","files","un","dn","hideLoading","pn","mn","disableButtons","Cn","gn","yn","hn","bn","checkValidity","enableButtons","showValidationMessage","disableInput","enableInput","closePopup","isDenied","vn","wn","isConfirmed","rejectPromise","kn","An","xn","En","Tn","onclick","Pn","Bn","onmousedown","onmouseup","Sn","On","Ln","jn","Mn","keydownTarget","keydownHandlerAdded","keydownHandler","qn","Dn","In","Hn","Vn","Nn","Rn","Fn","isComposing","Un","Wn","zn","Kn","_main","getTimerLeft","Yn","Zn","Jn","Xn","increase","Gn","isRunning","Qn","eo","no","fire","oo","isValidParameter","isUpdatableParameter","isDeprecatedParameter","argsToParams","clickConfirm","clickDeny","clickCancel","getContainer","getPopup","getTitle","getHtmlContainer","getImage","getIcon","getInputLabel","getCloseButton","getActions","getConfirmButton","getDenyButton","getCancelButton","getLoader","getFooter","getTimerProgressBar","getFocusableElements","getValidationMessage","isLoading","showLoading","enableLoading","stopTimer","resumeTimer","toggleTimer","increaseTimer","isTimerRunning","bindClickHandler","io","so","confirmButton","denyButton","cancelButton","getElementsByClassName","ro","ao","swalPromiseResolve","swalPromiseReject","co","wo","lo","uo","fo","mo","isAwaitingPromise","isDismissed","ho","po","bo","_destroy","yo","swalCloseEventFinishedCallback","vo","Co","ko","Ao","Po","Bo","xo","inputerror","Eo","To","So","Oo","Lo","deferDisposalTimer","jo","Mo","Do","Io","disableLoading","closeModal","closeToast","getProgressSteps","Ho","qo","No","Ro","Vo","finally","dismiss","closeButton","Fo","Uo","Wo","zo","DismissReason","Sweetalert2","swal","sweetAlert","Swal","SweetAlert","$swal","IndexedObject","ssrDocument","createEvent","initEvent","getElementsByTagName","importNode","origin","getDocument","ssrWindow","pushState","cancelAnimationFrame"],"mappings":"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ACE,UACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,sBACA,KACA,QAEF,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,uBACA,KACA,MAEF,CACE,0BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,qBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,SACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,iBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,+CACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,iCACA,KACA,OAEF,CACE,yBACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,SACA,KACA,KAEF,CACE,0BACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,iBACA,KACA,QAEF,CACE,uDACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,QACA,KACA,MAEF,CACE,aACA,KACA,MAEF,CACE,mBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,WACA,KACA,MAEF,CACE,yBACA,KACA,OAEF,CACE,iDACA,KACA,OAEF,CACE,uCACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,OACA,KACA,MAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mCACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,4CACA,KACA,KAEF,CACE,UACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,wCACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,oCACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,SACA,KACA,MAEF,CACE,mCACA,KACA,OAEF,CACE,yCACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,gBACA,KACA,OAEF,CACE,YACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,+BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,OAEF,CACE,OACA,KACA,QAEF,CACE,YACA,KACA,OAEF,CACE,WACA,KACA,KACA,GAEF,CACE,kBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,YACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,MAEF,CACE,SACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,yBACA,KACA,KAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,iCACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,aACA,KACA,OAEF,CACE,8BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,yBACA,KACA,OAEF,CACE,aACA,KACA,QAEF,CACE,sBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,2BACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,0BACA,KACA,MAEF,CACE,qCACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,2BACA,KACA,QAEF,CACE,iBACA,KACA,MAEF,CACE,kBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,QACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,cACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,KAEF,CACE,iBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,kBACA,KACA,KAEF,CACE,SACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,wBACA,KACA,QAEF,CACE,cACA,KACA,QAEF,CACE,iDACA,KACA,OAEF,CACE,uDACA,KACA,OAEF,CACE,mCACA,KACA,QAEF,CACE,QACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,8CACA,KACA,OAEF,CACE,6CACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,eACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,gCACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,wBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,cACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,sBACA,KACA,QAEF,CACE,oBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,eACA,KACA,OAEF,CACE,2BACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,qDACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,gBACA,KACA,KAEF,CACE,UACA,KACA,OAEF,CACE,2BACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,oCACA,KACA,MAEF,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,u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C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,EAAK,CAAC,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,KAAM,KAAM,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,KAAM,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAA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","file":"js/chunk-vendors.61bd97e1.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict'\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/runtime-core.cjs.prod.js')\n} else {\n module.exports = require('./dist/runtime-core.cjs.js')\n}\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : ''\n\n const path =\n ''\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '' + bg + path + '\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","/*!\n * message-compiler v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n","/*!\n * devtools-if v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst IntlifyDevToolsHooks = {\r\n I18nInit: 'i18n:init',\r\n FunctionTranslate: 'function:translate'\r\n};\n\nexport { IntlifyDevToolsHooks };\n","/*!\n * core-base v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isObject, isString, isFunction, isNumber, isPlainObject, toDisplayString, isArray, format, isBoolean, assign, isRegExp, warn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate, getGlobalThis } from '@intlify/shared';\nimport { defaultOnError, baseCompile, CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\n\nconst pathStateMachine = [];\r\npathStateMachine[0 /* BEFORE_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [0 /* BEFORE_PATH */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[1 /* IN_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[2 /* BEFORE_IDENT */] = {\r\n [\"w\" /* WORKSPACE */]: [2 /* BEFORE_IDENT */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */]\r\n};\r\npathStateMachine[3 /* IN_IDENT */] = {\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */, 1 /* PUSH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */, 1 /* PUSH */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */, 1 /* PUSH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */, 1 /* PUSH */]\r\n};\r\npathStateMachine[4 /* IN_SUB_PATH */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */],\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [\r\n 4 /* IN_SUB_PATH */,\r\n 2 /* INC_SUB_PATH_DEPTH */\r\n ],\r\n [\"]\" /* RIGHT_BRACKET */]: [1 /* IN_PATH */, 3 /* PUSH_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */]\r\n};\r\npathStateMachine[5 /* IN_SINGLE_QUOTE */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */]\r\n};\r\npathStateMachine[6 /* IN_DOUBLE_QUOTE */] = {\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */]\r\n};\r\n/**\r\n * Check if an expression is a literal value.\r\n */\r\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\r\nfunction isLiteral(exp) {\r\n return literalValueRE.test(exp);\r\n}\r\n/**\r\n * Strip quotes from a string\r\n */\r\nfunction stripQuotes(str) {\r\n const a = str.charCodeAt(0);\r\n const b = str.charCodeAt(str.length - 1);\r\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\r\n}\r\n/**\r\n * Determine the type of a character in a keypath.\r\n */\r\nfunction getPathCharType(ch) {\r\n if (ch === undefined || ch === null) {\r\n return \"o\" /* END_OF_FAIL */;\r\n }\r\n const code = ch.charCodeAt(0);\r\n switch (code) {\r\n case 0x5b: // [\r\n case 0x5d: // ]\r\n case 0x2e: // .\r\n case 0x22: // \"\r\n case 0x27: // '\r\n return ch;\r\n case 0x5f: // _\r\n case 0x24: // $\r\n case 0x2d: // -\r\n return \"i\" /* IDENT */;\r\n case 0x09: // Tab (HT)\r\n case 0x0a: // Newline (LF)\r\n case 0x0d: // Return (CR)\r\n case 0xa0: // No-break space (NBSP)\r\n case 0xfeff: // Byte Order Mark (BOM)\r\n case 0x2028: // Line Separator (LS)\r\n case 0x2029: // Paragraph Separator (PS)\r\n return \"w\" /* WORKSPACE */;\r\n }\r\n return \"i\" /* IDENT */;\r\n}\r\n/**\r\n * Format a subPath, return its plain form if it is\r\n * a literal string or number. Otherwise prepend the\r\n * dynamic indicator (*).\r\n */\r\nfunction formatSubPath(path) {\r\n const trimmed = path.trim();\r\n // invalid leading 0\r\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\r\n return false;\r\n }\r\n return isLiteral(trimmed)\r\n ? stripQuotes(trimmed)\r\n : \"*\" /* ASTARISK */ + trimmed;\r\n}\r\n/**\r\n * Parse a string path into an array of segments\r\n */\r\nfunction parse(path) {\r\n const keys = [];\r\n let index = -1;\r\n let mode = 0 /* BEFORE_PATH */;\r\n let subPathDepth = 0;\r\n let c;\r\n let key; // eslint-disable-line\r\n let newChar;\r\n let type;\r\n let transition;\r\n let action;\r\n let typeMap;\r\n const actions = [];\r\n actions[0 /* APPEND */] = () => {\r\n if (key === undefined) {\r\n key = newChar;\r\n }\r\n else {\r\n key += newChar;\r\n }\r\n };\r\n actions[1 /* PUSH */] = () => {\r\n if (key !== undefined) {\r\n keys.push(key);\r\n key = undefined;\r\n }\r\n };\r\n actions[2 /* INC_SUB_PATH_DEPTH */] = () => {\r\n actions[0 /* APPEND */]();\r\n subPathDepth++;\r\n };\r\n actions[3 /* PUSH_SUB_PATH */] = () => {\r\n if (subPathDepth > 0) {\r\n subPathDepth--;\r\n mode = 4 /* IN_SUB_PATH */;\r\n actions[0 /* APPEND */]();\r\n }\r\n else {\r\n subPathDepth = 0;\r\n if (key === undefined) {\r\n return false;\r\n }\r\n key = formatSubPath(key);\r\n if (key === false) {\r\n return false;\r\n }\r\n else {\r\n actions[1 /* PUSH */]();\r\n }\r\n }\r\n };\r\n function maybeUnescapeQuote() {\r\n const nextChar = path[index + 1];\r\n if ((mode === 5 /* IN_SINGLE_QUOTE */ &&\r\n nextChar === \"'\" /* SINGLE_QUOTE */) ||\r\n (mode === 6 /* IN_DOUBLE_QUOTE */ &&\r\n nextChar === \"\\\"\" /* DOUBLE_QUOTE */)) {\r\n index++;\r\n newChar = '\\\\' + nextChar;\r\n actions[0 /* APPEND */]();\r\n return true;\r\n }\r\n }\r\n while (mode !== null) {\r\n index++;\r\n c = path[index];\r\n if (c === '\\\\' && maybeUnescapeQuote()) {\r\n continue;\r\n }\r\n type = getPathCharType(c);\r\n typeMap = pathStateMachine[mode];\r\n transition = typeMap[type] || typeMap[\"l\" /* ELSE */] || 8 /* ERROR */;\r\n // check parse error\r\n if (transition === 8 /* ERROR */) {\r\n return;\r\n }\r\n mode = transition[0];\r\n if (transition[1] !== undefined) {\r\n action = actions[transition[1]];\r\n if (action) {\r\n newChar = c;\r\n if (action() === false) {\r\n return;\r\n }\r\n }\r\n }\r\n // check parse finish\r\n if (mode === 7 /* AFTER_PATH */) {\r\n return keys;\r\n }\r\n }\r\n}\r\n// path token cache\r\nconst cache = new Map();\r\n/**\r\n * key-value message resolver\r\n *\r\n * @remarks\r\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveWithKeyValue(obj, path) {\r\n return isObject(obj) ? obj[path] : null;\r\n}\r\n/**\r\n * message resolver\r\n *\r\n * @remarks\r\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveValue(obj, path) {\r\n // check object\r\n if (!isObject(obj)) {\r\n return null;\r\n }\r\n // parse path\r\n let hit = cache.get(path);\r\n if (!hit) {\r\n hit = parse(path);\r\n if (hit) {\r\n cache.set(path, hit);\r\n }\r\n }\r\n // check hit\r\n if (!hit) {\r\n return null;\r\n }\r\n // resolve path value\r\n const len = hit.length;\r\n let last = obj;\r\n let i = 0;\r\n while (i < len) {\r\n const val = last[hit[i]];\r\n if (val === undefined) {\r\n return null;\r\n }\r\n last = val;\r\n i++;\r\n }\r\n return last;\r\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\r\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\r\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\r\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : values.join('');\r\nconst DEFAULT_INTERPOLATE = toDisplayString;\r\nfunction pluralDefault(choice, choicesLength) {\r\n choice = Math.abs(choice);\r\n if (choicesLength === 2) {\r\n // prettier-ignore\r\n return choice\r\n ? choice > 1\r\n ? 1\r\n : 0\r\n : 1;\r\n }\r\n return choice ? Math.min(choice, 2) : 0;\r\n}\r\nfunction getPluralIndex(options) {\r\n // prettier-ignore\r\n const index = isNumber(options.pluralIndex)\r\n ? options.pluralIndex\r\n : -1;\r\n // prettier-ignore\r\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\r\n ? isNumber(options.named.count)\r\n ? options.named.count\r\n : isNumber(options.named.n)\r\n ? options.named.n\r\n : index\r\n : index;\r\n}\r\nfunction normalizeNamed(pluralIndex, props) {\r\n if (!props.count) {\r\n props.count = pluralIndex;\r\n }\r\n if (!props.n) {\r\n props.n = pluralIndex;\r\n }\r\n}\r\nfunction createMessageContext(options = {}) {\r\n const locale = options.locale;\r\n const pluralIndex = getPluralIndex(options);\r\n const pluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? options.pluralRules[locale]\r\n : pluralDefault;\r\n const orgPluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? pluralDefault\r\n : undefined;\r\n const plural = (messages) => {\r\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\r\n };\r\n const _list = options.list || [];\r\n const list = (index) => _list[index];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _named = options.named || {};\r\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\r\n const named = (key) => _named[key];\r\n function message(key) {\r\n // prettier-ignore\r\n const msg = isFunction(options.messages)\r\n ? options.messages(key)\r\n : isObject(options.messages)\r\n ? options.messages[key]\r\n : false;\r\n return !msg\r\n ? options.parent\r\n ? options.parent.message(key) // resolve from parent messages\r\n : DEFAULT_MESSAGE\r\n : msg;\r\n }\r\n const _modifier = (name) => options.modifiers\r\n ? options.modifiers[name]\r\n : DEFAULT_MODIFIER;\r\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\r\n ? options.processor.normalize\r\n : DEFAULT_NORMALIZE;\r\n const interpolate = isPlainObject(options.processor) &&\r\n isFunction(options.processor.interpolate)\r\n ? options.processor.interpolate\r\n : DEFAULT_INTERPOLATE;\r\n const type = isPlainObject(options.processor) && isString(options.processor.type)\r\n ? options.processor.type\r\n : DEFAULT_MESSAGE_DATA_TYPE;\r\n const linked = (key, ...args) => {\r\n const [arg1, arg2] = args;\r\n let type = 'text';\r\n let modifier = '';\r\n if (args.length === 1) {\r\n if (isObject(arg1)) {\r\n modifier = arg1.modifier || modifier;\r\n type = arg1.type || type;\r\n }\r\n else if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n }\r\n else if (args.length === 2) {\r\n if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n if (isString(arg2)) {\r\n type = arg2 || type;\r\n }\r\n }\r\n let msg = message(key)(ctx);\r\n // The message in vnode resolved with linked are returned as an array by processor.nomalize\r\n if (type === 'vnode' && isArray(msg) && modifier) {\r\n msg = msg[0];\r\n }\r\n return modifier ? _modifier(modifier)(msg, type) : msg;\r\n };\r\n const ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: linked,\r\n [\"message\" /* MESSAGE */]: message,\r\n [\"type\" /* TYPE */]: type,\r\n [\"interpolate\" /* INTERPOLATE */]: interpolate,\r\n [\"normalize\" /* NORMALIZE */]: normalize\r\n };\r\n return ctx;\r\n}\n\nlet devtools = null;\r\nfunction setDevToolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction getDevToolsHook() {\r\n return devtools;\r\n}\r\nfunction initI18nDevTools(i18n, version, meta) {\r\n // TODO: queue if devtools is undefined\r\n devtools &&\r\n devtools.emit(IntlifyDevToolsHooks.I18nInit, {\r\n timestamp: Date.now(),\r\n i18n,\r\n version,\r\n meta\r\n });\r\n}\r\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);\r\nfunction createDevToolsHook(hook) {\r\n return (payloads) => devtools && devtools.emit(hook, payloads);\r\n}\n\nconst CoreWarnCodes = {\r\n NOT_FOUND_KEY: 1,\r\n FALLBACK_TO_TRANSLATE: 2,\r\n CANNOT_FORMAT_NUMBER: 3,\r\n FALLBACK_TO_NUMBER_FORMAT: 4,\r\n CANNOT_FORMAT_DATE: 5,\r\n FALLBACK_TO_DATE_FORMAT: 6,\r\n __EXTEND_POINT__: 7\r\n};\r\n/** @internal */\r\nconst warnMessages = {\r\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\n/**\r\n * Fallback with simple implemenation\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a simple fallback algorithm.\r\n *\r\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\r\n) {\r\n // prettier-ignore\r\n return [...new Set([\r\n start,\r\n ...(isArray(fallback)\r\n ? fallback\r\n : isObject(fallback)\r\n ? Object.keys(fallback)\r\n : isString(fallback)\r\n ? [fallback]\r\n : [start])\r\n ])];\r\n}\r\n/**\r\n * Fallback with locale chain\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\r\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\r\n const context = ctx;\r\n if (!context.__localeChainCache) {\r\n context.__localeChainCache = new Map();\r\n }\r\n let chain = context.__localeChainCache.get(startLocale);\r\n if (!chain) {\r\n chain = [];\r\n // first block defined by start\r\n let block = [start];\r\n // while any intervening block found\r\n while (isArray(block)) {\r\n block = appendBlockToChain(chain, block, fallback);\r\n }\r\n // prettier-ignore\r\n // last block defined by default\r\n const defaults = isArray(fallback) || !isPlainObject(fallback)\r\n ? fallback\r\n : fallback['default']\r\n ? fallback['default']\r\n : null;\r\n // convert defaults to array\r\n block = isString(defaults) ? [defaults] : defaults;\r\n if (isArray(block)) {\r\n appendBlockToChain(chain, block, false);\r\n }\r\n context.__localeChainCache.set(startLocale, chain);\r\n }\r\n return chain;\r\n}\r\nfunction appendBlockToChain(chain, block, blocks) {\r\n let follow = true;\r\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\r\n const locale = block[i];\r\n if (isString(locale)) {\r\n follow = appendLocaleToChain(chain, block[i], blocks);\r\n }\r\n }\r\n return follow;\r\n}\r\nfunction appendLocaleToChain(chain, locale, blocks) {\r\n let follow;\r\n const tokens = locale.split('-');\r\n do {\r\n const target = tokens.join('-');\r\n follow = appendItemToChain(chain, target, blocks);\r\n tokens.splice(-1, 1);\r\n } while (tokens.length && follow === true);\r\n return follow;\r\n}\r\nfunction appendItemToChain(chain, target, blocks) {\r\n let follow = false;\r\n if (!chain.includes(target)) {\r\n follow = true;\r\n if (target) {\r\n follow = target[target.length - 1] !== '!';\r\n const locale = target.replace(/!/g, '');\r\n chain.push(locale);\r\n if ((isArray(blocks) || isPlainObject(blocks)) &&\r\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n follow = blocks[locale];\r\n }\r\n }\r\n }\r\n return follow;\r\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.2.2';\r\nconst NOT_REOSLVED = -1;\r\nconst DEFAULT_LOCALE = 'en-US';\r\nconst MISSING_RESOLVE_VALUE = '';\r\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toUpperCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toUpperCase()\r\n : val;\r\n },\r\n lower: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toLowerCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toLowerCase()\r\n : val;\r\n },\r\n capitalize: (val, type) => {\r\n // prettier-ignore\r\n return (type === 'text' && isString(val)\r\n ? capitalize(val)\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? capitalize(val.children)\r\n : val);\r\n }\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\nlet _resolver;\r\n/**\r\n * Register the message resolver\r\n *\r\n * @param resolver - A {@link MessageResolver} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerMessageResolver(resolver) {\r\n _resolver = resolver;\r\n}\r\nlet _fallbacker;\r\n/**\r\n * Register the locale fallbacker\r\n *\r\n * @param fallbacker - A {@link LocaleFallbacker} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerLocaleFallbacker(fallbacker) {\r\n _fallbacker = fallbacker;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = () => _additionalMeta;\r\nlet _fallbackContext = null;\r\nconst setFallbackContext = (context) => {\r\n _fallbackContext = context;\r\n};\r\nconst getFallbackContext = () => _fallbackContext;\r\n// ID for CoreContext\r\nlet _cid = 0;\r\nfunction createCoreContext(options = {}) {\r\n // setup options\r\n const version = isString(options.version) ? options.version : VERSION;\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n isString(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const messages = isPlainObject(options.messages)\r\n ? options.messages\r\n : { [locale]: {} };\r\n const datetimeFormats = isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [locale]: {} }\r\n ;\r\n const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} }\r\n ;\r\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\r\n const pluralRules = options.pluralRules || {};\r\n const missing = isFunction(options.missing) ? options.missing : null;\r\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n const fallbackFormat = !!options.fallbackFormat;\r\n const unresolving = !!options.unresolving;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n const processor = isPlainObject(options.processor) ? options.processor : null;\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const escapeParameter = !!options.escapeParameter;\r\n const messageCompiler = isFunction(options.messageCompiler)\r\n ? options.messageCompiler\r\n : _compiler;\r\n const messageResolver = isFunction(options.messageResolver)\r\n ? options.messageResolver\r\n : _resolver || resolveWithKeyValue;\r\n const localeFallbacker = isFunction(options.localeFallbacker)\r\n ? options.localeFallbacker\r\n : _fallbacker || fallbackWithSimple;\r\n const fallbackContext = isObject(options.fallbackContext)\r\n ? options.fallbackContext\r\n : undefined;\r\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\r\n // setup internal options\r\n const internalOptions = options;\r\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\r\n ? internalOptions.__datetimeFormatters\r\n : new Map()\r\n ;\r\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map()\r\n ;\r\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\r\n _cid++;\r\n const context = {\r\n version,\r\n cid: _cid,\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n modifiers,\r\n pluralRules,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackFormat,\r\n unresolving,\r\n postTranslation,\r\n processor,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageCompiler,\r\n messageResolver,\r\n localeFallbacker,\r\n fallbackContext,\r\n onWarn,\r\n __meta\r\n };\r\n {\r\n context.datetimeFormats = datetimeFormats;\r\n context.numberFormats = numberFormats;\r\n context.__datetimeFormatters = __datetimeFormatters;\r\n context.__numberFormatters = __numberFormatters;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.__v_emitter =\r\n internalOptions.__v_emitter != null\r\n ? internalOptions.__v_emitter\r\n : undefined;\r\n }\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n initI18nDevTools(context, version, __meta);\r\n }\r\n return context;\r\n}\r\n/** @internal */\r\nfunction isTranslateFallbackWarn(fallback, key) {\r\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\r\n}\r\n/** @internal */\r\nfunction isTranslateMissingWarn(missing, key) {\r\n return missing instanceof RegExp ? missing.test(key) : missing;\r\n}\r\n/** @internal */\r\nfunction handleMissing(context, key, locale, missingWarn, type) {\r\n const { missing, onWarn } = context;\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"missing\" /* MISSING */, {\r\n locale,\r\n key,\r\n type,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n if (missing !== null) {\r\n const ret = missing(context, locale, key, type);\r\n return isString(ret) ? ret : key;\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n ctx.localeFallbacker(ctx, fallback, locale);\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\r\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\r\nfunction checkHtmlMessage(source, options) {\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n if (warnHtmlMessage && RE_HTML_TAG.test(source)) {\r\n warn(format(WARN_MESSAGE, { source }));\r\n }\r\n}\r\nconst defaultOnCacheKey = (source) => source;\r\nlet compileCache = Object.create(null);\r\nfunction clearCompileCache() {\r\n compileCache = Object.create(null);\r\n}\r\nfunction compileToFunction(source, options = {}) {\r\n {\r\n // check HTML message\r\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(source, options);\r\n // check caches\r\n const onCacheKey = options.onCacheKey || defaultOnCacheKey;\r\n const key = onCacheKey(source);\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n // compile error detecting\r\n let occurred = false;\r\n const onError = options.onError || defaultOnError;\r\n options.onError = (err) => {\r\n occurred = true;\r\n onError(err);\r\n };\r\n // compile\r\n const { code } = baseCompile(source, options);\r\n // evaluate function\r\n const msg = new Function(`return ${code}`)();\r\n // if occurred compile error, don't cache\r\n return !occurred ? (compileCache[key] = msg) : msg;\r\n }\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst CoreErrorCodes = {\r\n INVALID_ARGUMENT: code,\r\n INVALID_DATE_ARGUMENT: inc(),\r\n INVALID_ISO_DATE_ARGUMENT: inc(),\r\n __EXTEND_POINT__: inc() // 18\r\n};\r\nfunction createCoreError(code) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\r\n}\r\n/** @internal */\r\nconst errorMessages = {\r\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\r\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string'\r\n};\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\r\nconst isMessageFunction = (val) => isFunction(val);\r\n// implementation of `translate` function\r\nfunction translate(context, ...args) {\r\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\r\n const [key, options] = parseTranslateArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const escapeParameter = isBoolean(options.escapeParameter)\r\n ? options.escapeParameter\r\n : context.escapeParameter;\r\n const resolvedMessage = !!options.resolvedMessage;\r\n // prettier-ignore\r\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\r\n ? !isBoolean(options.default)\r\n ? options.default\r\n : (!messageCompiler ? () => key : key)\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? (!messageCompiler ? () => key : key)\r\n : '';\r\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n // escape params\r\n escapeParameter && escapeParams(options);\r\n // resolve message format\r\n // eslint-disable-next-line prefer-const\r\n let [formatScope, targetLocale, message] = !resolvedMessage\r\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\r\n : [\r\n key,\r\n locale,\r\n messages[locale] || {}\r\n ];\r\n // NOTE:\r\n // Fix to work around `ssrTransfrom` bug in Vite.\r\n // https://github.com/vitejs/vite/issues/4306\r\n // To get around this, use temporary variables.\r\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\r\n let format = formatScope;\r\n // if you use default message, set it as message format!\r\n let cacheBaseKey = key;\r\n if (!resolvedMessage &&\r\n !(isString(format) || isMessageFunction(format))) {\r\n if (enableDefaultMsg) {\r\n format = defaultMsgOrKey;\r\n cacheBaseKey = format;\r\n }\r\n }\r\n // checking message format and target locale\r\n if (!resolvedMessage &&\r\n (!(isString(format) || isMessageFunction(format)) ||\r\n !isString(targetLocale))) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\r\n warn(`The message format compilation is not supported in this build. ` +\r\n `Because message compiler isn't included. ` +\r\n `You need to pre-compilation all message format. ` +\r\n `So translate function return '${key}'.`);\r\n return key;\r\n }\r\n // setup compile error detecting\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n // compile message format\r\n const msg = !isMessageFunction(format)\r\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector)\r\n : format;\r\n // if occurred compile error, return the message format\r\n if (occurred) {\r\n return format;\r\n }\r\n // evaluate message with context\r\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\r\n const msgContext = createMessageContext(ctxOptions);\r\n const messaged = evaluateMessage(context, msg, msgContext);\r\n // if use post translation option, proceed it with handler\r\n const ret = postTranslation\r\n ? postTranslation(messaged, key)\r\n : messaged;\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n // prettier-ignore\r\n const payloads = {\r\n timestamp: Date.now(),\r\n key: isString(key)\r\n ? key\r\n : isMessageFunction(format)\r\n ? format.key\r\n : '',\r\n locale: targetLocale || (isMessageFunction(format)\r\n ? format.locale\r\n : ''),\r\n format: isString(format)\r\n ? format\r\n : isMessageFunction(format)\r\n ? format.source\r\n : '',\r\n message: ret\r\n };\r\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\r\n translateDevTools(payloads);\r\n }\r\n return ret;\r\n}\r\nfunction escapeParams(options) {\r\n if (isArray(options.list)) {\r\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\r\n }\r\n else if (isObject(options.named)) {\r\n Object.keys(options.named).forEach(key => {\r\n if (isString(options.named[key])) {\r\n options.named[key] = escapeHtml(options.named[key]);\r\n }\r\n });\r\n }\r\n}\r\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\r\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\r\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n let message = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'translate';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n message =\r\n messages[targetLocale] || {};\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-resolve-start';\r\n endTag = 'intlify-message-resolve-end';\r\n mark && mark(startTag);\r\n }\r\n if ((format = resolveValue(message, key)) === null) {\r\n // if null, resolve with object key path\r\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start && format) {\r\n emitter.emit(\"message-resolve\" /* MESSAGE_RESOLVE */, {\r\n type: \"message-resolve\" /* MESSAGE_RESOLVE */,\r\n key,\r\n message: format,\r\n time: end - start,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message resolve', startTag, endTag);\r\n }\r\n }\r\n if (isString(format) || isFunction(format))\r\n break;\r\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n key, targetLocale, missingWarn, type);\r\n if (missingRet !== key) {\r\n format = missingRet;\r\n }\r\n from = to;\r\n }\r\n return [format, targetLocale, message];\r\n}\r\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector) {\r\n const { messageCompiler, warnHtmlMessage } = context;\r\n if (isMessageFunction(format)) {\r\n const msg = format;\r\n msg.locale = msg.locale || targetLocale;\r\n msg.key = msg.key || key;\r\n return msg;\r\n }\r\n if (messageCompiler == null) {\r\n const msg = (() => format);\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n return msg;\r\n }\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-compilation-start';\r\n endTag = 'intlify-message-compilation-end';\r\n mark && mark(startTag);\r\n }\r\n const msg = messageCompiler(format, getCompileOptions(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, errorDetector));\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-compilation\" /* MESSAGE_COMPILATION */, {\r\n type: \"message-compilation\" /* MESSAGE_COMPILATION */,\r\n message: format,\r\n time: end - start,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message compilation', startTag, endTag);\r\n }\r\n }\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n msg.source = format;\r\n return msg;\r\n}\r\nfunction evaluateMessage(context, msg, msgCtx) {\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-evaluation-start';\r\n endTag = 'intlify-message-evaluation-end';\r\n mark && mark(startTag);\r\n }\r\n const messaged = msg(msgCtx);\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-evaluation\" /* MESSAGE_EVALUATION */, {\r\n type: \"message-evaluation\" /* MESSAGE_EVALUATION */,\r\n value: messaged,\r\n time: end - start,\r\n groupId: `${'translate'}:${msg.key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message evaluation', startTag, endTag);\r\n }\r\n }\r\n return messaged;\r\n}\r\n/** @internal */\r\nfunction parseTranslateArgs(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n if (!isString(arg1) && !isNumber(arg1) && !isMessageFunction(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n // prettier-ignore\r\n const key = isNumber(arg1)\r\n ? String(arg1)\r\n : isMessageFunction(arg1)\r\n ? arg1\r\n : arg1;\r\n if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isString(arg2)) {\r\n options.default = arg2;\r\n }\r\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\r\n options.named = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n options.list = arg2;\r\n }\r\n if (isNumber(arg3)) {\r\n options.plural = arg3;\r\n }\r\n else if (isString(arg3)) {\r\n options.default = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n assign(options, arg3);\r\n }\r\n return [key, options];\r\n}\r\nfunction getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {\r\n return {\r\n warnHtmlMessage,\r\n onError: (err) => {\r\n errorDetector && errorDetector(err);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const message = `Message compilation error: ${err.message}`;\r\n const codeFrame = err.location &&\r\n generateCodeFrame(source, err.location.start.offset, err.location.end.offset);\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"compile-error\" /* COMPILE_ERROR */, {\r\n message: source,\r\n error: err.message,\r\n start: err.location && err.location.start.offset,\r\n end: err.location && err.location.end.offset,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n else {\r\n throw err;\r\n }\r\n },\r\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\r\n };\r\n}\r\nfunction getMessageContextOptions(context, locale, message, options) {\r\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\r\n const resolveMessage = (key) => {\r\n let val = resolveValue(message, key);\r\n // fallback to root context\r\n if (val == null && fallbackContext) {\r\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\r\n val = resolveValue(message, key);\r\n }\r\n if (isString(val)) {\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n const msg = compileMessageFormat(context, key, locale, val, key, errorDetector);\r\n return !occurred\r\n ? msg\r\n : NOOP_MESSAGE_FUNCTION;\r\n }\r\n else if (isMessageFunction(val)) {\r\n return val;\r\n }\r\n else {\r\n // TODO: should be implemented warning message\r\n return NOOP_MESSAGE_FUNCTION;\r\n }\r\n };\r\n const ctxOptions = {\r\n locale,\r\n modifiers,\r\n pluralRules,\r\n messages: resolveMessage\r\n };\r\n if (context.processor) {\r\n ctxOptions.processor = context.processor;\r\n }\r\n if (options.list) {\r\n ctxOptions.list = options.list;\r\n }\r\n if (options.named) {\r\n ctxOptions.named = options.named;\r\n }\r\n if (isNumber(options.plural)) {\r\n ctxOptions.pluralIndex = options.plural;\r\n }\r\n return ctxOptions;\r\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\r\nconst Availabilities = {\r\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\r\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\r\n};\n\n// implementation of `datetime` function\r\nfunction datetime(context, ...args) {\r\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let datetimeFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'datetime format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n datetimeFormat =\r\n datetimeFormats[targetLocale] || {};\r\n format = datetimeFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __datetimeFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\r\n __datetimeFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'weekday',\r\n 'era',\r\n 'year',\r\n 'month',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second',\r\n 'timeZoneName',\r\n 'formatMatcher',\r\n 'hour12',\r\n 'timeZone',\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'hourCycle',\r\n 'fractionalSecondDigits'\r\n];\r\n/** @internal */\r\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n let value;\r\n if (isString(arg1)) {\r\n // Only allow ISO strings - other date formats are often supported,\r\n // but may cause different results in different browsers.\r\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\r\n if (!matches) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n // Some browsers can not parse the iso datetime separated by space,\r\n // this is a compromise solution by replace the 'T'/' ' with 'T'\r\n const dateTime = matches[3]\r\n ? matches[3].trim().startsWith('T')\r\n ? `${matches[1].trim()}${matches[3].trim()}`\r\n : `${matches[1].trim()}T${matches[3].trim()}`\r\n : matches[1].trim();\r\n value = new Date(dateTime);\r\n try {\r\n // This will fail if the date is not valid\r\n value.toISOString();\r\n }\r\n catch (e) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\r\n }\r\n value = arg1;\r\n }\r\n else if (isNumber(arg1)) {\r\n value = arg1;\r\n }\r\n else {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearDateTimeFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__datetimeFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__datetimeFormatters.delete(id);\r\n }\r\n}\n\n// implementation of `number` function\r\nfunction number(context, ...args) {\r\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseNumberArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let numberFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'number format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n numberFormat =\r\n numberFormats[targetLocale] || {};\r\n format = numberFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __numberFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\r\n __numberFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'currencySign',\r\n 'useGrouping',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'compactDisplay',\r\n 'notation',\r\n 'signDisplay',\r\n 'unit',\r\n 'unitDisplay',\r\n 'roundingMode',\r\n 'roundingPriority',\r\n 'roundingIncrement',\r\n 'trailingZeroDisplay'\r\n];\r\n/** @internal */\r\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const value = arg1;\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearNumberFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__numberFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__numberFormatters.delete(id);\r\n }\r\n}\n\n// TODO: we could not exports for Node native ES Moudles yet...\r\n{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-devtools v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst VueDevToolsLabels = {\r\n [\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */]: 'Vue I18n devtools',\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'I18n Resources',\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 'Vue I18n'\r\n};\r\nconst VueDevToolsPlaceholders = {\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'Search for scopes ...'\r\n};\r\nconst VueDevToolsTimelineColors = {\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 0xffcd19\r\n};\n\nexport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors };\n","/*!\n * vue-i18n v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, format, makeSymbol, isPlainObject, isArray, isString, hasOwn, isObject, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, warn, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CompileErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, ref, computed, watch, getCurrentInstance, Fragment, h, effectScope, inject, onMounted, onUnmounted, shallowRef, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\nimport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors } from '@intlify/vue-devtools';\n\n/**\r\n * Vue I18n Version\r\n *\r\n * @remarks\r\n * Semver format. Same format as the package.json `version` field.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst VERSION = '9.2.2';\r\n/**\r\n * This is only called in esm-bundler builds.\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\r\n }\r\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\r\n }\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of vue-i18n. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle.`);\r\n }\r\n}\n\nlet code$1 = CoreWarnCodes.__EXTEND_POINT__;\r\nconst inc$1 = () => ++code$1;\r\nconst I18nWarnCodes = {\r\n FALLBACK_TO_ROOT: code$1,\r\n NOT_SUPPORTED_PRESERVE: inc$1(),\r\n NOT_SUPPORTED_FORMATTER: inc$1(),\r\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),\r\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),\r\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),\r\n NOT_FOUND_PARENT_SCOPE: inc$1() // 13\r\n};\r\nconst warnMessages = {\r\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\r\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\r\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst I18nErrorCodes = {\r\n // composer module errors\r\n UNEXPECTED_RETURN_TYPE: code,\r\n // legacy module errors\r\n INVALID_ARGUMENT: inc(),\r\n // i18n module errors\r\n MUST_BE_CALL_SETUP_TOP: inc(),\r\n NOT_INSLALLED: inc(),\r\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(),\r\n // directive module errors\r\n REQUIRED_VALUE: inc(),\r\n INVALID_VALUE: inc(),\r\n // vue-devtools errors\r\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),\r\n NOT_INSLALLED_WITH_PROVIDE: inc(),\r\n // unexpected error\r\n UNEXPECTED_ERROR: inc(),\r\n // not compatible legacy vue-i18n constructor\r\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),\r\n // bridge support vue 2.x only\r\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(),\r\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\r\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),\r\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\r\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),\r\n // for enhancement\r\n __EXTEND_POINT__: inc() // 29\r\n};\r\nfunction createI18nError(code, ...args) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\r\n}\r\nconst errorMessages = {\r\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\r\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\r\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\r\n [I18nErrorCodes.NOT_INSLALLED]: 'Need to install with `app.use` function',\r\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\r\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\r\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\r\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\r\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\r\n [I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\r\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\r\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\r\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\r\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\r\n};\n\nconst TransrateVNodeSymbol = \r\n/* #__PURE__*/ makeSymbol('__transrateVNode');\r\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\r\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\r\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\r\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\r\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\r\nmakeSymbol('__intlifyMeta');\r\nconst InejctWithOption = /* #__PURE__*/ makeSymbol('__injectWithOption');\r\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Transform flat json in obj to normal json in obj\r\n */\r\nfunction handleFlatJson(obj) {\r\n // check obj\r\n if (!isObject(obj)) {\r\n return obj;\r\n }\r\n for (const key in obj) {\r\n // check key\r\n if (!hasOwn(obj, key)) {\r\n continue;\r\n }\r\n // handle for normal json\r\n if (!key.includes('.')) {\r\n // recursive process value if value is also a object\r\n if (isObject(obj[key])) {\r\n handleFlatJson(obj[key]);\r\n }\r\n }\r\n // handle for flat json, transform to normal json\r\n else {\r\n // go to the last object\r\n const subKeys = key.split('.');\r\n const lastIndex = subKeys.length - 1;\r\n let currentObj = obj;\r\n for (let i = 0; i < lastIndex; i++) {\r\n if (!(subKeys[i] in currentObj)) {\r\n currentObj[subKeys[i]] = {};\r\n }\r\n currentObj = currentObj[subKeys[i]];\r\n }\r\n // update last object value, delete old property\r\n currentObj[subKeys[lastIndex]] = obj[key];\r\n delete obj[key];\r\n // recursive process value if value is also a object\r\n if (isObject(currentObj[subKeys[lastIndex]])) {\r\n handleFlatJson(currentObj[subKeys[lastIndex]]);\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\nfunction getLocaleMessages(locale, options) {\r\n const { messages, __i18n, messageResolver, flatJson } = options;\r\n // prettier-ignore\r\n const ret = isPlainObject(messages)\r\n ? messages\r\n : isArray(__i18n)\r\n ? {}\r\n : { [locale]: {} };\r\n // merge locale messages of i18n custom block\r\n if (isArray(__i18n)) {\r\n __i18n.forEach(custom => {\r\n if ('locale' in custom && 'resource' in custom) {\r\n const { locale, resource } = custom;\r\n if (locale) {\r\n ret[locale] = ret[locale] || {};\r\n deepCopy(resource, ret[locale]);\r\n }\r\n else {\r\n deepCopy(resource, ret);\r\n }\r\n }\r\n else {\r\n isString(custom) && deepCopy(JSON.parse(custom), ret);\r\n }\r\n });\r\n }\r\n // handle messages for flat json\r\n if (messageResolver == null && flatJson) {\r\n for (const key in ret) {\r\n if (hasOwn(ret, key)) {\r\n handleFlatJson(ret[key]);\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction deepCopy(src, des) {\r\n // src and des should both be objects, and non of then can be a array\r\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n for (const key in src) {\r\n if (hasOwn(src, key)) {\r\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\r\n // replace with src[key] when:\r\n // src[key] or des[key] is not a object, or\r\n // src[key] or des[key] is a array\r\n des[key] = src[key];\r\n }\r\n else {\r\n // src[key] and des[key] are both object, merge them\r\n deepCopy(src[key], des[key]);\r\n }\r\n }\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getComponentOptions(instance) {\r\n return instance.type ;\r\n}\r\nfunction adjustI18nResources(global, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n let messages = isObject(options.messages) ? options.messages : {};\r\n if ('__i18nGlobal' in componentOptions) {\r\n messages = getLocaleMessages(global.locale.value, {\r\n messages,\r\n __i18n: componentOptions.__i18nGlobal\r\n });\r\n }\r\n // merge locale messages\r\n const locales = Object.keys(messages);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeLocaleMessage(locale, messages[locale]);\r\n });\r\n }\r\n {\r\n // merge datetime formats\r\n if (isObject(options.datetimeFormats)) {\r\n const locales = Object.keys(options.datetimeFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\r\n });\r\n }\r\n }\r\n // merge number formats\r\n if (isObject(options.numberFormats)) {\r\n const locales = Object.keys(options.numberFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeNumberFormat(locale, options.numberFormats[locale]);\r\n });\r\n }\r\n }\r\n }\r\n}\r\nfunction createTextNode(key) {\r\n return createVNode(Text, null, key, 0)\r\n ;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n// extend VNode interface\r\nconst DEVTOOLS_META = '__INTLIFY_META__';\r\nlet composerID = 0;\r\nfunction defineCoreMissingHandler(missing) {\r\n return ((ctx, locale, key, type) => {\r\n return missing(locale, key, getCurrentInstance() || undefined, type);\r\n });\r\n}\r\n// for Intlify DevTools\r\nconst getMetaInfo = () => {\r\n const instance = getCurrentInstance();\r\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\r\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : null;\r\n};\r\n/**\r\n * Create composer interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createComposer(options = {}, VueI18nLegacy) {\r\n const { __root } = options;\r\n const _isGlobal = __root === undefined;\r\n let _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // warning suppress options\r\n // prettier-ignore\r\n let _missingWarn = __root\r\n ? __root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackWarn = __root\r\n ? __root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackRoot = __root\r\n ? __root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n let _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n let _missing = isFunction(options.missing) ? options.missing : null;\r\n let _runtimeMissing = isFunction(options.missing)\r\n ? defineCoreMissingHandler(options.missing)\r\n : null;\r\n // postTranslation handler\r\n let _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n let _warnHtmlMessage = __root\r\n ? __root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n let _escapeParameter = !!options.escapeParameter;\r\n // custom linked modifiers\r\n // prettier-ignore\r\n const _modifiers = __root\r\n ? __root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\r\n // runtime context\r\n // eslint-disable-next-line prefer-const\r\n let _context;\r\n const getCoreContext = () => {\r\n _isGlobal && setFallbackContext(null);\r\n const ctxOptions = {\r\n version: VERSION,\r\n locale: _locale.value,\r\n fallbackLocale: _fallbackLocale.value,\r\n messages: _messages.value,\r\n modifiers: _modifiers,\r\n pluralRules: _pluralRules,\r\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\r\n missingWarn: _missingWarn,\r\n fallbackWarn: _fallbackWarn,\r\n fallbackFormat: _fallbackFormat,\r\n unresolving: true,\r\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\r\n warnHtmlMessage: _warnHtmlMessage,\r\n escapeParameter: _escapeParameter,\r\n messageResolver: options.messageResolver,\r\n __meta: { framework: 'vue' }\r\n };\r\n {\r\n ctxOptions.datetimeFormats = _datetimeFormats.value;\r\n ctxOptions.numberFormats = _numberFormats.value;\r\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\r\n ? _context.__datetimeFormatters\r\n : undefined;\r\n ctxOptions.__numberFormatters = isPlainObject(_context)\r\n ? _context.__numberFormatters\r\n : undefined;\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n ctxOptions.__v_emitter = isPlainObject(_context)\r\n ? _context.__v_emitter\r\n : undefined;\r\n }\r\n const ctx = createCoreContext(ctxOptions);\r\n _isGlobal && setFallbackContext(ctx);\r\n return ctx;\r\n };\r\n _context = getCoreContext();\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ]\r\n ;\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => _locale.value,\r\n set: val => {\r\n _locale.value = val;\r\n _context.locale = _locale.value;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => _fallbackLocale.value,\r\n set: val => {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = _fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, val);\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => _messages.value);\r\n // datetimeFormats\r\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\r\n // numberFormats\r\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\r\n // getPostTranslationHandler\r\n function getPostTranslationHandler() {\r\n return isFunction(_postTranslation) ? _postTranslation : null;\r\n }\r\n // setPostTranslationHandler\r\n function setPostTranslationHandler(handler) {\r\n _postTranslation = handler;\r\n _context.postTranslation = handler;\r\n }\r\n // getMissingHandler\r\n function getMissingHandler() {\r\n return _missing;\r\n }\r\n // setMissingHandler\r\n function setMissingHandler(handler) {\r\n if (handler !== null) {\r\n _runtimeMissing = defineCoreMissingHandler(handler);\r\n }\r\n _missing = handler;\r\n _context.missing = _runtimeMissing;\r\n }\r\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n return type !== 'translate' || !arg.resolvedMessage;\r\n }\r\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\r\n trackReactivityValues(); // track reactive dependency\r\n // NOTE: experimental !!\r\n let ret;\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n try {\r\n setAdditionalMeta(getMetaInfo());\r\n if (!_isGlobal) {\r\n _context.fallbackContext = __root\r\n ? getFallbackContext()\r\n : undefined;\r\n }\r\n ret = fn(_context);\r\n }\r\n finally {\r\n setAdditionalMeta(null);\r\n if (!_isGlobal) {\r\n _context.fallbackContext = undefined;\r\n }\r\n }\r\n }\r\n else {\r\n ret = fn(_context);\r\n }\r\n if (isNumber(ret) && ret === NOT_REOSLVED) {\r\n const [key, arg2] = argumentParser();\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n __root &&\r\n isString(key) &&\r\n isResolvedTranslateMessage(warnType, arg2)) {\r\n if (_fallbackRoot &&\r\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\r\n isTranslateMissingWarn(_missingWarn, key))) {\r\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\r\n key,\r\n type: warnType\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { __v_emitter: emitter } = _context;\r\n if (emitter && _fallbackRoot) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type: warnType,\r\n key,\r\n to: 'global',\r\n groupId: `${warnType}:${key}`\r\n });\r\n }\r\n }\r\n }\r\n return __root && _fallbackRoot\r\n ? fallbackSuccess(__root)\r\n : fallbackFail(key);\r\n }\r\n else if (successCondition(ret)) {\r\n return ret;\r\n }\r\n else {\r\n /* istanbul ignore next */\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\r\n }\r\n };\r\n // t\r\n function t(...args) {\r\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\r\n }\r\n // rt\r\n function rt(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n if (arg3 && !isObject(arg3)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\r\n }\r\n // d\r\n function d(...args) {\r\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // n\r\n function n(...args) {\r\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\r\n }\r\n // for custom processor\r\n function normalize(values) {\r\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\r\n ? createTextNode(String(val))\r\n : val);\r\n }\r\n const interpolate = (val) => val;\r\n const processor = {\r\n normalize,\r\n interpolate,\r\n type: 'vnode'\r\n };\r\n // transrateVNode, using for `i18n-t` component\r\n function transrateVNode(...args) {\r\n return wrapWithDeps(context => {\r\n let ret;\r\n const _context = context;\r\n try {\r\n _context.processor = processor;\r\n ret = Reflect.apply(translate, null, [_context, ...args]);\r\n }\r\n finally {\r\n _context.processor = null;\r\n }\r\n return ret;\r\n }, () => parseTranslateArgs(...args), 'translate', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[TransrateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\r\n }\r\n // numberParts, using for `i18n-n` component\r\n function numberParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[NumberPartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n // datetimeParts, using for `i18n-d` component\r\n function datetimeParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[DatetimePartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n function setPluralRules(rules) {\r\n _pluralRules = rules;\r\n _context.pluralRules = _pluralRules;\r\n }\r\n // te\r\n function te(key, locale) {\r\n const targetLocale = isString(locale) ? locale : _locale.value;\r\n const message = getLocaleMessage(targetLocale);\r\n return _context.messageResolver(message, key) !== null;\r\n }\r\n function resolveMessages(key) {\r\n let messages = null;\r\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\r\n for (let i = 0; i < locales.length; i++) {\r\n const targetLocaleMessages = _messages.value[locales[i]] || {};\r\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\r\n if (messageValue != null) {\r\n messages = messageValue;\r\n break;\r\n }\r\n }\r\n return messages;\r\n }\r\n // tm\r\n function tm(key) {\r\n const messages = resolveMessages(key);\r\n // prettier-ignore\r\n return messages != null\r\n ? messages\r\n : __root\r\n ? __root.tm(key) || {}\r\n : {};\r\n }\r\n // getLocaleMessage\r\n function getLocaleMessage(locale) {\r\n return (_messages.value[locale] || {});\r\n }\r\n // setLocaleMessage\r\n function setLocaleMessage(locale, message) {\r\n _messages.value[locale] = message;\r\n _context.messages = _messages.value;\r\n }\r\n // mergeLocaleMessage\r\n function mergeLocaleMessage(locale, message) {\r\n _messages.value[locale] = _messages.value[locale] || {};\r\n deepCopy(message, _messages.value[locale]);\r\n _context.messages = _messages.value;\r\n }\r\n // getDateTimeFormat\r\n function getDateTimeFormat(locale) {\r\n return _datetimeFormats.value[locale] || {};\r\n }\r\n // setDateTimeFormat\r\n function setDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = format;\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // mergeDateTimeFormat\r\n function mergeDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // getNumberFormat\r\n function getNumberFormat(locale) {\r\n return _numberFormats.value[locale] || {};\r\n }\r\n // setNumberFormat\r\n function setNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = format;\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // mergeNumberFormat\r\n function mergeNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // for debug\r\n composerID++;\r\n // watch root locale & fallbackLocale\r\n if (__root && inBrowser) {\r\n watch(__root.locale, (val) => {\r\n if (_inheritLocale) {\r\n _locale.value = val;\r\n _context.locale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n watch(__root.fallbackLocale, (val) => {\r\n if (_inheritLocale) {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n }\r\n // define basic composition API!\r\n const composer = {\r\n id: composerID,\r\n locale,\r\n fallbackLocale,\r\n get inheritLocale() {\r\n return _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n _inheritLocale = val;\r\n if (val && __root) {\r\n _locale.value = __root.locale.value;\r\n _fallbackLocale.value = __root.fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n },\r\n get availableLocales() {\r\n return Object.keys(_messages.value).sort();\r\n },\r\n messages,\r\n get modifiers() {\r\n return _modifiers;\r\n },\r\n get pluralRules() {\r\n return _pluralRules || {};\r\n },\r\n get isGlobal() {\r\n return _isGlobal;\r\n },\r\n get missingWarn() {\r\n return _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n _missingWarn = val;\r\n _context.missingWarn = _missingWarn;\r\n },\r\n get fallbackWarn() {\r\n return _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n _fallbackWarn = val;\r\n _context.fallbackWarn = _fallbackWarn;\r\n },\r\n get fallbackRoot() {\r\n return _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n _fallbackRoot = val;\r\n },\r\n get fallbackFormat() {\r\n return _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n _fallbackFormat = val;\r\n _context.fallbackFormat = _fallbackFormat;\r\n },\r\n get warnHtmlMessage() {\r\n return _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n _warnHtmlMessage = val;\r\n _context.warnHtmlMessage = val;\r\n },\r\n get escapeParameter() {\r\n return _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n _escapeParameter = val;\r\n _context.escapeParameter = val;\r\n },\r\n t,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n [SetPluralRulesSymbol]: setPluralRules\r\n };\r\n {\r\n composer.datetimeFormats = datetimeFormats;\r\n composer.numberFormats = numberFormats;\r\n composer.rt = rt;\r\n composer.te = te;\r\n composer.tm = tm;\r\n composer.d = d;\r\n composer.n = n;\r\n composer.getDateTimeFormat = getDateTimeFormat;\r\n composer.setDateTimeFormat = setDateTimeFormat;\r\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\r\n composer.getNumberFormat = getNumberFormat;\r\n composer.setNumberFormat = setNumberFormat;\r\n composer.mergeNumberFormat = mergeNumberFormat;\r\n composer[InejctWithOption] = options.__injectWithOption;\r\n composer[TransrateVNodeSymbol] = transrateVNode;\r\n composer[DatetimePartsSymbol] = datetimeParts;\r\n composer[NumberPartsSymbol] = numberParts;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n composer[EnableEmitter] = (emitter) => {\r\n _context.__v_emitter = emitter;\r\n };\r\n composer[DisableEmitter] = () => {\r\n _context.__v_emitter = undefined;\r\n };\r\n }\r\n return composer;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Convert to I18n Composer Options from VueI18n Options\r\n *\r\n * @internal\r\n */\r\nfunction convertComposerOptions(options) {\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const missing = isFunction(options.missing) ? options.missing : undefined;\r\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\r\n isRegExp(options.silentTranslationWarn)\r\n ? !options.silentTranslationWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\r\n isRegExp(options.silentFallbackWarn)\r\n ? !options.silentFallbackWarn\r\n : true;\r\n const fallbackRoot = isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n const fallbackFormat = !!options.formatFallbackMessages;\r\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\r\n const pluralizationRules = options.pluralizationRules;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : undefined;\r\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\r\n ? options.warnHtmlInMessage !== 'off'\r\n : true;\r\n const escapeParameter = !!options.escapeParameterHtml;\r\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\r\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n }\r\n let messages = options.messages;\r\n if (isPlainObject(options.sharedMessages)) {\r\n const sharedMessages = options.sharedMessages;\r\n const locales = Object.keys(sharedMessages);\r\n messages = locales.reduce((messages, locale) => {\r\n const message = messages[locale] || (messages[locale] = {});\r\n assign(message, sharedMessages[locale]);\r\n return messages;\r\n }, (messages || {}));\r\n }\r\n const { __i18n, __root, __injectWithOption } = options;\r\n const datetimeFormats = options.datetimeFormats;\r\n const numberFormats = options.numberFormats;\r\n const flatJson = options.flatJson;\r\n return {\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n flatJson,\r\n datetimeFormats,\r\n numberFormats,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackRoot,\r\n fallbackFormat,\r\n modifiers,\r\n pluralRules: pluralizationRules,\r\n postTranslation,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageResolver: options.messageResolver,\r\n inheritLocale,\r\n __i18n,\r\n __root,\r\n __injectWithOption\r\n };\r\n}\r\n/**\r\n * create VueI18n interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createVueI18n(options = {}, VueI18nLegacy) {\r\n {\r\n const composer = createComposer(convertComposerOptions(options));\r\n // defines VueI18n\r\n const vueI18n = {\r\n // id\r\n id: composer.id,\r\n // locale\r\n get locale() {\r\n return composer.locale.value;\r\n },\r\n set locale(val) {\r\n composer.locale.value = val;\r\n },\r\n // fallbackLocale\r\n get fallbackLocale() {\r\n return composer.fallbackLocale.value;\r\n },\r\n set fallbackLocale(val) {\r\n composer.fallbackLocale.value = val;\r\n },\r\n // messages\r\n get messages() {\r\n return composer.messages.value;\r\n },\r\n // datetimeFormats\r\n get datetimeFormats() {\r\n return composer.datetimeFormats.value;\r\n },\r\n // numberFormats\r\n get numberFormats() {\r\n return composer.numberFormats.value;\r\n },\r\n // availableLocales\r\n get availableLocales() {\r\n return composer.availableLocales;\r\n },\r\n // formatter\r\n get formatter() {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n // dummy\r\n return {\r\n interpolate() {\r\n return [];\r\n }\r\n };\r\n },\r\n set formatter(val) {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n },\r\n // missing\r\n get missing() {\r\n return composer.getMissingHandler();\r\n },\r\n set missing(handler) {\r\n composer.setMissingHandler(handler);\r\n },\r\n // silentTranslationWarn\r\n get silentTranslationWarn() {\r\n return isBoolean(composer.missingWarn)\r\n ? !composer.missingWarn\r\n : composer.missingWarn;\r\n },\r\n set silentTranslationWarn(val) {\r\n composer.missingWarn = isBoolean(val) ? !val : val;\r\n },\r\n // silentFallbackWarn\r\n get silentFallbackWarn() {\r\n return isBoolean(composer.fallbackWarn)\r\n ? !composer.fallbackWarn\r\n : composer.fallbackWarn;\r\n },\r\n set silentFallbackWarn(val) {\r\n composer.fallbackWarn = isBoolean(val) ? !val : val;\r\n },\r\n // modifiers\r\n get modifiers() {\r\n return composer.modifiers;\r\n },\r\n // formatFallbackMessages\r\n get formatFallbackMessages() {\r\n return composer.fallbackFormat;\r\n },\r\n set formatFallbackMessages(val) {\r\n composer.fallbackFormat = val;\r\n },\r\n // postTranslation\r\n get postTranslation() {\r\n return composer.getPostTranslationHandler();\r\n },\r\n set postTranslation(handler) {\r\n composer.setPostTranslationHandler(handler);\r\n },\r\n // sync\r\n get sync() {\r\n return composer.inheritLocale;\r\n },\r\n set sync(val) {\r\n composer.inheritLocale = val;\r\n },\r\n // warnInHtmlMessage\r\n get warnHtmlInMessage() {\r\n return composer.warnHtmlMessage ? 'warn' : 'off';\r\n },\r\n set warnHtmlInMessage(val) {\r\n composer.warnHtmlMessage = val !== 'off';\r\n },\r\n // escapeParameterHtml\r\n get escapeParameterHtml() {\r\n return composer.escapeParameter;\r\n },\r\n set escapeParameterHtml(val) {\r\n composer.escapeParameter = val;\r\n },\r\n // preserveDirectiveContent\r\n get preserveDirectiveContent() {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n return true;\r\n },\r\n set preserveDirectiveContent(val) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n },\r\n // pluralizationRules\r\n get pluralizationRules() {\r\n return composer.pluralRules || {};\r\n },\r\n // for internal\r\n __composer: composer,\r\n // t\r\n t(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n rt(...args) {\r\n return Reflect.apply(composer.rt, composer, [...args]);\r\n },\r\n // tc\r\n tc(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = { plural: 1 };\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n // te\r\n te(key, locale) {\r\n return composer.te(key, locale);\r\n },\r\n // tm\r\n tm(key) {\r\n return composer.tm(key);\r\n },\r\n // getLocaleMessage\r\n getLocaleMessage(locale) {\r\n return composer.getLocaleMessage(locale);\r\n },\r\n // setLocaleMessage\r\n setLocaleMessage(locale, message) {\r\n composer.setLocaleMessage(locale, message);\r\n },\r\n // mergeLocaleMessage\r\n mergeLocaleMessage(locale, message) {\r\n composer.mergeLocaleMessage(locale, message);\r\n },\r\n // d\r\n d(...args) {\r\n return Reflect.apply(composer.d, composer, [...args]);\r\n },\r\n // getDateTimeFormat\r\n getDateTimeFormat(locale) {\r\n return composer.getDateTimeFormat(locale);\r\n },\r\n // setDateTimeFormat\r\n setDateTimeFormat(locale, format) {\r\n composer.setDateTimeFormat(locale, format);\r\n },\r\n // mergeDateTimeFormat\r\n mergeDateTimeFormat(locale, format) {\r\n composer.mergeDateTimeFormat(locale, format);\r\n },\r\n // n\r\n n(...args) {\r\n return Reflect.apply(composer.n, composer, [...args]);\r\n },\r\n // getNumberFormat\r\n getNumberFormat(locale) {\r\n return composer.getNumberFormat(locale);\r\n },\r\n // setNumberFormat\r\n setNumberFormat(locale, format) {\r\n composer.setNumberFormat(locale, format);\r\n },\r\n // mergeNumberFormat\r\n mergeNumberFormat(locale, format) {\r\n composer.mergeNumberFormat(locale, format);\r\n },\r\n // getChoiceIndex\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n getChoiceIndex(choice, choicesLength) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\r\n return -1;\r\n },\r\n // for internal\r\n __onComponentInstanceCreated(target) {\r\n const { componentInstanceCreatedListener } = options;\r\n if (componentInstanceCreatedListener) {\r\n componentInstanceCreatedListener(target, vueI18n);\r\n }\r\n }\r\n };\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n vueI18n.__enableEmitter = (emitter) => {\r\n const __composer = composer;\r\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\r\n };\r\n vueI18n.__disableEmitter = () => {\r\n const __composer = composer;\r\n __composer[DisableEmitter] && __composer[DisableEmitter]();\r\n };\r\n }\r\n return vueI18n;\r\n }\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\r\n tag: {\r\n type: [String, Object]\r\n },\r\n locale: {\r\n type: String\r\n },\r\n scope: {\r\n type: String,\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n validator: (val /* ComponetI18nScope */) => val === 'parent' || val === 'global',\r\n default: 'parent' /* ComponetI18nScope */\r\n },\r\n i18n: {\r\n type: Object\r\n }\r\n};\n\nfunction getInterpolateArg(\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n{ slots }, // SetupContext,\r\nkeys) {\r\n if (keys.length === 1 && keys[0] === 'default') {\r\n // default slot with list\r\n const ret = slots.default ? slots.default() : [];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return ret.reduce((slot, current) => {\r\n return (slot = [\r\n ...slot,\r\n ...(isArray(current.children) ? current.children : [current])\r\n ]);\r\n }, []);\r\n }\r\n else {\r\n // named slots\r\n return keys.reduce((arg, key) => {\r\n const slot = slots[key];\r\n if (slot) {\r\n arg[key] = slot();\r\n }\r\n return arg;\r\n }, {});\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getFragmentableTag(tag) {\r\n return Fragment ;\r\n}\n\n/**\r\n * Translation Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [TranslationProps](component#translationprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\r\n *\r\n * @example\r\n * ```html\r\n *
\r\n * \r\n * \r\n * {{ $t('tos') }}\r\n * \r\n * \r\n *
\r\n * ```\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n } from 'vue-i18n'\r\n *\r\n * const messages = {\r\n * en: {\r\n * tos: 'Term of Service',\r\n * term: 'I accept xxx {0}.'\r\n * },\r\n * ja: {\r\n * tos: '利用規約',\r\n * term: '私は xxx の{0}に同意します。'\r\n * }\r\n * }\r\n *\r\n * const i18n = createI18n({\r\n * locale: 'en',\r\n * messages\r\n * })\r\n *\r\n * const app = createApp({\r\n * data: {\r\n * url: '/term'\r\n * }\r\n * }).use(i18n).mount('#app')\r\n * ```\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst Translation = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-t',\r\n props: assign({\r\n keypath: {\r\n type: String,\r\n required: true\r\n },\r\n plural: {\r\n type: [Number, String],\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n validator: (val) => isNumber(val) || !isNaN(val)\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const { slots, attrs } = context;\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n const i18n = props.i18n ||\r\n useI18n({\r\n useScope: props.scope,\r\n __useComponent: true\r\n });\r\n return () => {\r\n const keys = Object.keys(slots).filter(key => key !== '_');\r\n const options = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (props.plural !== undefined) {\r\n options.plural = isString(props.plural) ? +props.plural : props.plural;\r\n }\r\n const arg = getInterpolateArg(context, keys);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const children = i18n[TransrateVNodeSymbol](props.keypath, arg, options);\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n }\r\n};\n\nfunction isVNode(target) {\r\n return isArray(target) && !isString(target[0]);\r\n}\r\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\r\n const { slots, attrs } = context;\r\n return () => {\r\n const options = { part: true };\r\n let overrides = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (isString(props.format)) {\r\n options.key = props.format;\r\n }\r\n else if (isObject(props.format)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (isString(props.format.key)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n options.key = props.format.key;\r\n }\r\n // Filter out number format options only\r\n overrides = Object.keys(props.format).reduce((options, prop) => {\r\n return slotKeys.includes(prop)\r\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : options;\r\n }, {});\r\n }\r\n const parts = partFormatter(...[props.value, options, overrides]);\r\n let children = [options.key];\r\n if (isArray(parts)) {\r\n children = parts.map((part, index) => {\r\n const slot = slots[part.type];\r\n const node = slot\r\n ? slot({ [part.type]: part.value, index, parts })\r\n : [part.value];\r\n if (isVNode(node)) {\r\n node[0].key = `${part.type}-${index}`;\r\n }\r\n return node;\r\n });\r\n }\r\n else if (isString(parts)) {\r\n children = [parts];\r\n }\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n}\n\n/**\r\n * Number Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst NumberFormat = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-n',\r\n props: assign({\r\n value: {\r\n type: Number,\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[NumberPartsSymbol](...args));\r\n }\r\n};\n\n/**\r\n * Datetime Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst DatetimeFormat = /*defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-d',\r\n props: assign({\r\n value: {\r\n type: [Number, Date],\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[DatetimePartsSymbol](...args));\r\n }\r\n};\n\nfunction getComposer$2(i18n, instance) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n return (i18nInternal.__getInstance(instance) || i18n.global);\r\n }\r\n else {\r\n const vueI18n = i18nInternal.__getInstance(instance);\r\n return vueI18n != null\r\n ? vueI18n.__composer\r\n : i18n.global.__composer;\r\n }\r\n}\r\nfunction vTDirective(i18n) {\r\n const _process = (binding) => {\r\n const { instance, modifiers, value } = binding;\r\n /* istanbul ignore if */\r\n if (!instance || !instance.$) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const composer = getComposer$2(i18n, instance.$);\r\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\r\n }\r\n const parsedValue = parseValue(value);\r\n return [\r\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\r\n composer\r\n ];\r\n };\r\n const register = (el, binding) => {\r\n const [textContent, composer] = _process(binding);\r\n if (inBrowser && i18n.global === composer) {\r\n // global scope only\r\n el.__i18nWatcher = watch(composer.locale, () => {\r\n binding.instance && binding.instance.$forceUpdate();\r\n });\r\n }\r\n el.__composer = composer;\r\n el.textContent = textContent;\r\n };\r\n const unregister = (el) => {\r\n if (inBrowser && el.__i18nWatcher) {\r\n el.__i18nWatcher();\r\n el.__i18nWatcher = undefined;\r\n delete el.__i18nWatcher;\r\n }\r\n if (el.__composer) {\r\n el.__composer = undefined;\r\n delete el.__composer;\r\n }\r\n };\r\n const update = (el, { value }) => {\r\n if (el.__composer) {\r\n const composer = el.__composer;\r\n const parsedValue = parseValue(value);\r\n el.textContent = Reflect.apply(composer.t, composer, [\r\n ...makeParams(parsedValue)\r\n ]);\r\n }\r\n };\r\n const getSSRProps = (binding) => {\r\n const [textContent] = _process(binding);\r\n return { textContent };\r\n };\r\n return {\r\n created: register,\r\n unmounted: unregister,\r\n beforeUpdate: update,\r\n getSSRProps\r\n };\r\n}\r\nfunction parseValue(value) {\r\n if (isString(value)) {\r\n return { path: value };\r\n }\r\n else if (isPlainObject(value)) {\r\n if (!('path' in value)) {\r\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\r\n }\r\n return value;\r\n }\r\n else {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n}\r\nfunction makeParams(value) {\r\n const { path, locale, args, choice, plural } = value;\r\n const options = {};\r\n const named = args || {};\r\n if (isString(locale)) {\r\n options.locale = locale;\r\n }\r\n if (isNumber(choice)) {\r\n options.plural = choice;\r\n }\r\n if (isNumber(plural)) {\r\n options.plural = plural;\r\n }\r\n return [path, named, options];\r\n}\n\nfunction apply(app, i18n, ...options) {\r\n const pluginOptions = isPlainObject(options[0])\r\n ? options[0]\r\n : {};\r\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\r\n const globalInstall = isBoolean(pluginOptions.globalInstall)\r\n ? pluginOptions.globalInstall\r\n : true;\r\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\r\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\r\n name: Translation.name\r\n }));\r\n }\r\n if (globalInstall) {\r\n // install components\r\n app.component(!useI18nComponentName ? Translation.name : 'i18n', Translation);\r\n app.component(NumberFormat.name, NumberFormat);\r\n app.component(DatetimeFormat.name, DatetimeFormat);\r\n }\r\n // install directive\r\n {\r\n app.directive('t', vTDirective(i18n));\r\n }\r\n}\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\r\nlet devtoolsApi;\r\nasync function enableDevTools(app, i18n) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n setupDevtoolsPlugin({\r\n id: \"vue-devtools-plugin-vue-i18n\" /* PLUGIN */,\r\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */],\r\n packageName: 'vue-i18n',\r\n homepage: 'https://vue-i18n.intlify.dev',\r\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\r\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\r\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }, api => {\r\n devtoolsApi = api;\r\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\r\n updateComponentTreeTags(componentInstance, treeNode, i18n);\r\n });\r\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\r\n if (componentInstance.vnode.el &&\r\n componentInstance.vnode.el.__VUE_I18N__ &&\r\n instanceData) {\r\n if (i18n.mode === 'legacy') {\r\n // ignore global scope on legacy mode\r\n if (componentInstance.vnode.el.__VUE_I18N__ !==\r\n i18n.global.__composer) {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n else {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n });\r\n api.addInspector({\r\n id: \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */,\r\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */],\r\n icon: 'language',\r\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]\r\n });\r\n api.on.getInspectorTree(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n registerScope(payload, i18n);\r\n }\r\n });\r\n const roots = new Map();\r\n api.on.getInspectorState(async (payload) => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n api.unhighlightElement();\r\n inspectScope(payload, i18n);\r\n if (payload.nodeId === 'global') {\r\n if (!roots.has(payload.app)) {\r\n const [root] = await api.getComponentInstances(payload.app);\r\n roots.set(payload.app, root);\r\n }\r\n api.highlightElement(roots.get(payload.app));\r\n }\r\n else {\r\n const instance = getComponentInstance(payload.nodeId, i18n);\r\n instance && api.highlightElement(instance);\r\n }\r\n }\r\n });\r\n api.on.editInspectorState(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n editScope(payload, i18n);\r\n }\r\n });\r\n api.addTimelineLayer({\r\n id: \"vue-i18n-timeline\" /* TIMELINE */,\r\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* TIMELINE */],\r\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* TIMELINE */]\r\n });\r\n resolve(true);\r\n });\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject(false);\r\n }\r\n });\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getI18nScopeLable(instance) {\r\n return (instance.type.name ||\r\n instance.type.displayName ||\r\n instance.type.__file ||\r\n 'Anonymous');\r\n}\r\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\r\ntreeNode, i18n) {\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\r\n // add custom tags local scope only\r\n if (instance.vnode.el.__VUE_I18N__ !== global) {\r\n const tag = {\r\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\r\n textColor: 0x000000,\r\n backgroundColor: 0xffcd19\r\n };\r\n treeNode.tags.push(tag);\r\n }\r\n }\r\n}\r\nfunction inspectComposer(instanceData, composer) {\r\n const type = VUE_I18N_COMPONENT_TYPES;\r\n instanceData.state.push({\r\n type,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n });\r\n {\r\n instanceData.state.push({\r\n type,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n });\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getLocaleMessageValue(messages) {\r\n const value = {};\r\n Object.keys(messages).forEach((key) => {\r\n const v = messages[key];\r\n if (isFunction(v) && 'source' in v) {\r\n value[key] = getMessageFunctionDetails(v);\r\n }\r\n else if (isObject(v)) {\r\n value[key] = getLocaleMessageValue(v);\r\n }\r\n else {\r\n value[key] = v;\r\n }\r\n });\r\n return value;\r\n}\r\nconst ESC = {\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n '&': '&'\r\n};\r\nfunction escape(s) {\r\n return s.replace(/[<>\"&]/g, escapeChar);\r\n}\r\nfunction escapeChar(a) {\r\n return ESC[a] || a;\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getMessageFunctionDetails(func) {\r\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\r\n return {\r\n _custom: {\r\n type: 'function',\r\n display: `ƒ ${argString}`\r\n }\r\n };\r\n}\r\nfunction registerScope(payload, i18n) {\r\n payload.rootNodes.push({\r\n id: 'global',\r\n label: 'Global Scope'\r\n });\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n for (const [keyInstance, instance] of i18n.__instances) {\r\n // prettier-ignore\r\n const composer = i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n if (global === composer) {\r\n continue;\r\n }\r\n payload.rootNodes.push({\r\n id: composer.id.toString(),\r\n label: `${getI18nScopeLable(keyInstance)} Scope`\r\n });\r\n }\r\n}\r\nfunction getComponentInstance(nodeId, i18n) {\r\n let instance = null;\r\n if (nodeId !== 'global') {\r\n for (const [component, composer] of i18n.__instances.entries()) {\r\n if (composer.id.toString() === nodeId) {\r\n instance = component;\r\n break;\r\n }\r\n }\r\n }\r\n return instance;\r\n}\r\nfunction getComposer$1(nodeId, i18n) {\r\n if (nodeId === 'global') {\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n }\r\n else {\r\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\r\n if (instance) {\r\n return i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n}\r\nfunction inspectScope(payload, i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n // TODO:\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n payload.state = makeScopeInspectState(composer);\r\n }\r\n return null;\r\n}\r\nfunction makeScopeInspectState(composer) {\r\n const state = {};\r\n const localeType = 'Locale related info';\r\n const localeStates = [\r\n {\r\n type: localeType,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n },\r\n {\r\n type: localeType,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n }\r\n ];\r\n state[localeType] = localeStates;\r\n const localeMessagesType = 'Locale messages info';\r\n const localeMessagesStates = [\r\n {\r\n type: localeMessagesType,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n }\r\n ];\r\n state[localeMessagesType] = localeMessagesStates;\r\n {\r\n const datetimeFormatsType = 'Datetime formats info';\r\n const datetimeFormatsStates = [\r\n {\r\n type: datetimeFormatsType,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n }\r\n ];\r\n state[datetimeFormatsType] = datetimeFormatsStates;\r\n const numberFormatsType = 'Datetime formats info';\r\n const numberFormatsStates = [\r\n {\r\n type: numberFormatsType,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n }\r\n ];\r\n state[numberFormatsType] = numberFormatsStates;\r\n }\r\n return state;\r\n}\r\nfunction addTimelineEvent(event, payload) {\r\n if (devtoolsApi) {\r\n let groupId;\r\n if (payload && 'groupId' in payload) {\r\n groupId = payload.groupId;\r\n delete payload.groupId;\r\n }\r\n devtoolsApi.addTimelineEvent({\r\n layerId: \"vue-i18n-timeline\" /* TIMELINE */,\r\n event: {\r\n title: event,\r\n groupId,\r\n time: Date.now(),\r\n meta: {},\r\n data: payload || {},\r\n logType: event === \"compile-error\" /* COMPILE_ERROR */\r\n ? 'error'\r\n : event === \"fallback\" /* FALBACK */ ||\r\n event === \"missing\" /* MISSING */\r\n ? 'warning'\r\n : 'default'\r\n }\r\n });\r\n }\r\n}\r\nfunction editScope(payload, i18n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n const [field] = payload.path;\r\n if (field === 'locale' && isString(payload.state.value)) {\r\n composer.locale.value = payload.state.value;\r\n }\r\n else if (field === 'fallbackLocale' &&\r\n (isString(payload.state.value) ||\r\n isArray(payload.state.value) ||\r\n isObject(payload.state.value))) {\r\n composer.fallbackLocale.value = payload.state.value;\r\n }\r\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\r\n composer.inheritLocale = payload.state.value;\r\n }\r\n }\r\n}\n\n/**\r\n * Supports compatibility for legacy vue-i18n APIs\r\n * This mixin is used when we use vue-i18n@v9.x or later\r\n */\r\nfunction defineMixin(vuei18n, composer, i18n) {\r\n return {\r\n beforeCreate() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const options = this.$options;\r\n if (options.i18n) {\r\n const optionsI18n = options.i18n;\r\n if (options.__i18n) {\r\n optionsI18n.__i18n = options.__i18n;\r\n }\r\n optionsI18n.__root = composer;\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, optionsI18n);\r\n }\r\n else {\r\n optionsI18n.__injectWithOption = true;\r\n this.$i18n = createVueI18n(optionsI18n);\r\n }\r\n }\r\n else if (options.__i18n) {\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, options);\r\n }\r\n else {\r\n this.$i18n = createVueI18n({\r\n __i18n: options.__i18n,\r\n __injectWithOption: true,\r\n __root: composer\r\n });\r\n }\r\n }\r\n else {\r\n // set global\r\n this.$i18n = vuei18n;\r\n }\r\n if (options.__i18nGlobal) {\r\n adjustI18nResources(composer, options, options);\r\n }\r\n vuei18n.__onComponentInstanceCreated(this.$i18n);\r\n i18n.__setInstance(instance, this.$i18n);\r\n // defines vue-i18n legacy APIs\r\n this.$t = (...args) => this.$i18n.t(...args);\r\n this.$rt = (...args) => this.$i18n.rt(...args);\r\n this.$tc = (...args) => this.$i18n.tc(...args);\r\n this.$te = (key, locale) => this.$i18n.te(key, locale);\r\n this.$d = (...args) => this.$i18n.d(...args);\r\n this.$n = (...args) => this.$i18n.n(...args);\r\n this.$tm = (key) => this.$i18n.tm(key);\r\n },\r\n mounted() {\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$i18n) {\r\n this.$el.__VUE_I18N__ = this.$i18n.__composer;\r\n const emitter = (this.__v_emitter =\r\n createEmitter());\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n unmounted() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$el.__VUE_I18N__) {\r\n if (this.__v_emitter) {\r\n this.__v_emitter.off('*', addTimelineEvent);\r\n delete this.__v_emitter;\r\n }\r\n if (this.$i18n) {\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\r\n delete this.$el.__VUE_I18N__;\r\n }\r\n }\r\n delete this.$t;\r\n delete this.$rt;\r\n delete this.$tc;\r\n delete this.$te;\r\n delete this.$d;\r\n delete this.$n;\r\n delete this.$tm;\r\n i18n.__deleteInstance(instance);\r\n delete this.$i18n;\r\n }\r\n };\r\n}\r\nfunction mergeToRoot(root, options) {\r\n root.locale = options.locale || root.locale;\r\n root.fallbackLocale = options.fallbackLocale || root.fallbackLocale;\r\n root.missing = options.missing || root.missing;\r\n root.silentTranslationWarn =\r\n options.silentTranslationWarn || root.silentFallbackWarn;\r\n root.silentFallbackWarn =\r\n options.silentFallbackWarn || root.silentFallbackWarn;\r\n root.formatFallbackMessages =\r\n options.formatFallbackMessages || root.formatFallbackMessages;\r\n root.postTranslation = options.postTranslation || root.postTranslation;\r\n root.warnHtmlInMessage = options.warnHtmlInMessage || root.warnHtmlInMessage;\r\n root.escapeParameterHtml =\r\n options.escapeParameterHtml || root.escapeParameterHtml;\r\n root.sync = options.sync || root.sync;\r\n root.__composer[SetPluralRulesSymbol](options.pluralizationRules || root.pluralizationRules);\r\n const messages = getLocaleMessages(root.locale, {\r\n messages: options.messages,\r\n __i18n: options.__i18n\r\n });\r\n Object.keys(messages).forEach(locale => root.mergeLocaleMessage(locale, messages[locale]));\r\n if (options.datetimeFormats) {\r\n Object.keys(options.datetimeFormats).forEach(locale => root.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\r\n }\r\n if (options.numberFormats) {\r\n Object.keys(options.numberFormats).forEach(locale => root.mergeNumberFormat(locale, options.numberFormats[locale]));\r\n }\r\n return root;\r\n}\n\n/**\r\n * Injection key for {@link useI18n}\r\n *\r\n * @remarks\r\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\r\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst I18nInjectionKey = \r\n/* #__PURE__*/ makeSymbol('global-vue-i18n');\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction createI18n(options = {}, VueI18nLegacy) {\r\n // prettier-ignore\r\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\r\n ? options.legacy\r\n : __VUE_I18N_LEGACY_API__;\r\n // prettier-ignore\r\n const __globalInjection = isBoolean(options.globalInjection)\r\n ? options.globalInjection\r\n : true;\r\n // prettier-ignore\r\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? !!options.allowComposition\r\n : true;\r\n const __instances = new Map();\r\n const [globalScope, __global] = createGlobal(options, __legacyMode);\r\n const symbol = makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\r\n function __getInstance(component) {\r\n return __instances.get(component) || null;\r\n }\r\n function __setInstance(component, instance) {\r\n __instances.set(component, instance);\r\n }\r\n function __deleteInstance(component) {\r\n __instances.delete(component);\r\n }\r\n {\r\n const i18n = {\r\n // mode\r\n get mode() {\r\n return __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? 'legacy'\r\n : 'composition';\r\n },\r\n // allowComposition\r\n get allowComposition() {\r\n return __allowComposition;\r\n },\r\n // install plugin\r\n async install(app, ...options) {\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false) {\r\n app.__VUE_I18N__ = i18n;\r\n }\r\n // setup global provider\r\n app.__VUE_I18N_SYMBOL__ = symbol;\r\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\r\n // global method and properties injection for Composition API\r\n if (!__legacyMode && __globalInjection) {\r\n injectGlobalFields(app, i18n.global);\r\n }\r\n // install built-in components and directive\r\n if (__VUE_I18N_FULL_INSTALL__) {\r\n apply(app, i18n, ...options);\r\n }\r\n // setup mixin for Legacy API\r\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\r\n app.mixin(defineMixin(__global, __global.__composer, i18n));\r\n }\r\n // release global scope\r\n const unmountApp = app.unmount;\r\n app.unmount = () => {\r\n i18n.dispose();\r\n unmountApp();\r\n };\r\n // setup vue-devtools plugin\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n const ret = await enableDevTools(app, i18n);\r\n if (!ret) {\r\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\r\n }\r\n const emitter = createEmitter();\r\n if (__legacyMode) {\r\n const _vueI18n = __global;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = __global;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n }\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n // global accessor\r\n get global() {\r\n return __global;\r\n },\r\n dispose() {\r\n globalScope.stop();\r\n },\r\n // @internal\r\n __instances,\r\n // @internal\r\n __getInstance,\r\n // @internal\r\n __setInstance,\r\n // @internal\r\n __deleteInstance\r\n };\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction useI18n(options = {}) {\r\n const instance = getCurrentInstance();\r\n if (instance == null) {\r\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\r\n }\r\n if (!instance.isCE &&\r\n instance.appContext.app != null &&\r\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\r\n throw createI18nError(I18nErrorCodes.NOT_INSLALLED);\r\n }\r\n const i18n = getI18nInstance(instance);\r\n const global = getGlobalComposer(i18n);\r\n const componentOptions = getComponentOptions(instance);\r\n const scope = getScope(options, componentOptions);\r\n if (__VUE_I18N_LEGACY_API__) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (i18n.mode === 'legacy' && !options.__useComponent) {\r\n if (!i18n.allowComposition) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\r\n }\r\n return useI18nForLegacy(instance, scope, global, options);\r\n }\r\n }\r\n if (scope === 'global') {\r\n adjustI18nResources(global, options, componentOptions);\r\n return global;\r\n }\r\n if (scope === 'parent') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let composer = getComposer(i18n, instance, options.__useComponent);\r\n if (composer == null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\r\n }\r\n composer = global;\r\n }\r\n return composer;\r\n }\r\n const i18nInternal = i18n;\r\n let composer = i18nInternal.__getInstance(instance);\r\n if (composer == null) {\r\n const composerOptions = assign({}, options);\r\n if ('__i18n' in componentOptions) {\r\n composerOptions.__i18n = componentOptions.__i18n;\r\n }\r\n if (global) {\r\n composerOptions.__root = global;\r\n }\r\n composer = createComposer(composerOptions);\r\n setupLifeCycle(i18nInternal, instance, composer);\r\n i18nInternal.__setInstance(instance, composer);\r\n }\r\n return composer;\r\n}\r\n/**\r\n * Cast to VueI18n legacy compatible type\r\n *\r\n * @remarks\r\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\r\n *\r\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\r\n *\r\n * @param i18n - An instance of {@link I18n}\r\n * @returns A i18n instance which is casted to {@link VueI18n} type\r\n *\r\n * @VueI18nTip\r\n * :new: provided by **vue-i18n-bridge only**\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst castToVueI18n = (i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) => {\r\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\r\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\r\n }\r\n return i18n;\r\n};\r\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const scope = effectScope();\r\n {\r\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\r\n ? scope.run(() => createVueI18n(options))\r\n : scope.run(() => createComposer(options));\r\n if (obj == null) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n return [scope, obj];\r\n }\r\n}\r\nfunction getI18nInstance(instance) {\r\n {\r\n const i18n = inject(!instance.isCE\r\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\r\n : I18nInjectionKey);\r\n /* istanbul ignore if */\r\n if (!i18n) {\r\n throw createI18nError(!instance.isCE\r\n ? I18nErrorCodes.UNEXPECTED_ERROR\r\n : I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE);\r\n }\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getScope(options, componentOptions) {\r\n // prettier-ignore\r\n return isEmptyObject(options)\r\n ? ('__i18n' in componentOptions)\r\n ? 'local'\r\n : 'global'\r\n : !options.useScope\r\n ? 'local'\r\n : options.useScope;\r\n}\r\nfunction getGlobalComposer(i18n) {\r\n // prettier-ignore\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer\r\n ;\r\n}\r\nfunction getComposer(i18n, target, useComponent = false) {\r\n let composer = null;\r\n const root = target.root;\r\n let current = target.parent;\r\n while (current != null) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n composer = i18nInternal.__getInstance(current);\r\n }\r\n else {\r\n if (__VUE_I18N_LEGACY_API__) {\r\n const vueI18n = i18nInternal.__getInstance(current);\r\n if (vueI18n != null) {\r\n composer = vueI18n\r\n .__composer;\r\n if (useComponent &&\r\n composer &&\r\n !composer[InejctWithOption] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n composer = null;\r\n }\r\n }\r\n }\r\n }\r\n if (composer != null) {\r\n break;\r\n }\r\n if (root === current) {\r\n break;\r\n }\r\n current = current.parent;\r\n }\r\n return composer;\r\n}\r\nfunction setupLifeCycle(i18n, target, composer) {\r\n let emitter = null;\r\n {\r\n onMounted(() => {\r\n // inject composer instance to DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el) {\r\n target.vnode.el.__VUE_I18N__ = composer;\r\n emitter = createEmitter();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n }, target);\r\n onUnmounted(() => {\r\n // remove composer instance from DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el &&\r\n target.vnode.el.__VUE_I18N__) {\r\n emitter && emitter.off('*', addTimelineEvent);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[DisableEmitter] && _composer[DisableEmitter]();\r\n delete target.vnode.el.__VUE_I18N__;\r\n }\r\n i18n.__deleteInstance(target);\r\n }, target);\r\n }\r\n}\r\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const isLocale = scope === 'local';\r\n const _composer = shallowRef(null);\r\n if (isLocale &&\r\n instance.proxy &&\r\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\r\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\r\n }\r\n const _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _missingWarn = isLocale\r\n ? root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackWarn = isLocale\r\n ? root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackRoot = isLocale\r\n ? root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n const _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n const _missing = isFunction(options.missing) ? options.missing : null;\r\n // postTranslation handler\r\n const _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n const _warnHtmlMessage = isLocale\r\n ? root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const _escapeParameter = !!options.escapeParameter;\r\n // prettier-ignore\r\n const _modifiers = isLocale\r\n ? root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n const _pluralRules = options.pluralRules || (isLocale && root.pluralRules);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ];\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => {\r\n return _composer.value ? _composer.value.locale.value : _locale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.locale.value = val;\r\n }\r\n _locale.value = val;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => {\r\n return _composer.value\r\n ? _composer.value.fallbackLocale.value\r\n : _fallbackLocale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.fallbackLocale.value = val;\r\n }\r\n _fallbackLocale.value = val;\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => {\r\n if (_composer.value) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _composer.value.messages.value;\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _messages.value;\r\n }\r\n });\r\n const datetimeFormats = computed(() => _datetimeFormats.value);\r\n const numberFormats = computed(() => _numberFormats.value);\r\n function getPostTranslationHandler() {\r\n return _composer.value\r\n ? _composer.value.getPostTranslationHandler()\r\n : _postTranslation;\r\n }\r\n function setPostTranslationHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setPostTranslationHandler(handler);\r\n }\r\n }\r\n function getMissingHandler() {\r\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\r\n }\r\n function setMissingHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setMissingHandler(handler);\r\n }\r\n }\r\n function warpWithDeps(fn) {\r\n trackReactivityValues();\r\n return fn();\r\n }\r\n function t(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function rt(...args) {\r\n return _composer.value\r\n ? Reflect.apply(_composer.value.rt, null, [...args])\r\n : '';\r\n }\r\n function d(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function n(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function tm(key) {\r\n return _composer.value ? _composer.value.tm(key) : {};\r\n }\r\n function te(key, locale) {\r\n return _composer.value ? _composer.value.te(key, locale) : false;\r\n }\r\n function getLocaleMessage(locale) {\r\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\r\n }\r\n function setLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.setLocaleMessage(locale, message);\r\n _messages.value[locale] = message;\r\n }\r\n }\r\n function mergeLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.mergeLocaleMessage(locale, message);\r\n }\r\n }\r\n function getDateTimeFormat(locale) {\r\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\r\n }\r\n function setDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setDateTimeFormat(locale, format);\r\n _datetimeFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeDateTimeFormat(locale, format);\r\n }\r\n }\r\n function getNumberFormat(locale) {\r\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\r\n }\r\n function setNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setNumberFormat(locale, format);\r\n _numberFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeNumberFormat(locale, format);\r\n }\r\n }\r\n const wrapper = {\r\n get id() {\r\n return _composer.value ? _composer.value.id : -1;\r\n },\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n datetimeFormats,\r\n numberFormats,\r\n get inheritLocale() {\r\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n if (_composer.value) {\r\n _composer.value.inheritLocale = val;\r\n }\r\n },\r\n get availableLocales() {\r\n return _composer.value\r\n ? _composer.value.availableLocales\r\n : Object.keys(_messages.value);\r\n },\r\n get modifiers() {\r\n return (_composer.value ? _composer.value.modifiers : _modifiers);\r\n },\r\n get pluralRules() {\r\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\r\n },\r\n get isGlobal() {\r\n return _composer.value ? _composer.value.isGlobal : false;\r\n },\r\n get missingWarn() {\r\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackWarn() {\r\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackRoot() {\r\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackRoot = val;\r\n }\r\n },\r\n get fallbackFormat() {\r\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackFormat = val;\r\n }\r\n },\r\n get warnHtmlMessage() {\r\n return _composer.value\r\n ? _composer.value.warnHtmlMessage\r\n : _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n if (_composer.value) {\r\n _composer.value.warnHtmlMessage = val;\r\n }\r\n },\r\n get escapeParameter() {\r\n return _composer.value\r\n ? _composer.value.escapeParameter\r\n : _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n if (_composer.value) {\r\n _composer.value.escapeParameter = val;\r\n }\r\n },\r\n t,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n rt,\r\n d,\r\n n,\r\n tm,\r\n te,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getDateTimeFormat,\r\n setDateTimeFormat,\r\n mergeDateTimeFormat,\r\n getNumberFormat,\r\n setNumberFormat,\r\n mergeNumberFormat\r\n };\r\n function sync(composer) {\r\n composer.locale.value = _locale.value;\r\n composer.fallbackLocale.value = _fallbackLocale.value;\r\n Object.keys(_messages.value).forEach(locale => {\r\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\r\n });\r\n Object.keys(_datetimeFormats.value).forEach(locale => {\r\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\r\n });\r\n Object.keys(_numberFormats.value).forEach(locale => {\r\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\r\n });\r\n composer.escapeParameter = _escapeParameter;\r\n composer.fallbackFormat = _fallbackFormat;\r\n composer.fallbackRoot = _fallbackRoot;\r\n composer.fallbackWarn = _fallbackWarn;\r\n composer.missingWarn = _missingWarn;\r\n composer.warnHtmlMessage = _warnHtmlMessage;\r\n }\r\n onBeforeMount(() => {\r\n if (instance.proxy == null || instance.proxy.$i18n == null) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const composer = (_composer.value = instance.proxy.$i18n\r\n .__composer);\r\n if (scope === 'global') {\r\n _locale.value = composer.locale.value;\r\n _fallbackLocale.value = composer.fallbackLocale.value;\r\n _messages.value = composer.messages.value;\r\n _datetimeFormats.value = composer.datetimeFormats.value;\r\n _numberFormats.value = composer.numberFormats.value;\r\n }\r\n else if (isLocale) {\r\n sync(composer);\r\n }\r\n });\r\n return wrapper;\r\n}\r\nconst globalExportProps = [\r\n 'locale',\r\n 'fallbackLocale',\r\n 'availableLocales'\r\n];\r\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm'] ;\r\nfunction injectGlobalFields(app, composer) {\r\n const i18n = Object.create(null);\r\n globalExportProps.forEach(prop => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\r\n if (!desc) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const wrap = isRef(desc.value) // check computed props\r\n ? {\r\n get() {\r\n return desc.value.value;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n set(val) {\r\n desc.value.value = val;\r\n }\r\n }\r\n : {\r\n get() {\r\n return desc.get && desc.get();\r\n }\r\n };\r\n Object.defineProperty(i18n, prop, wrap);\r\n });\r\n app.config.globalProperties.$i18n = i18n;\r\n globalExportMethods.forEach(method => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, method);\r\n if (!desc || !desc.value) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\r\n });\r\n}\n\n// register message compiler at vue-i18n\r\nregisterMessageCompiler(compileToFunction);\r\n// register message resolver at vue-i18n\r\nregisterMessageResolver(resolveValue);\r\n// register fallback locale at vue-i18n\r\nregisterLocaleFallbacker(fallbackWithLocaleChain);\r\n{\r\n initFeatureFlags();\r\n}\r\n// NOTE: experimental !!\r\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__INTLIFY__ = true;\r\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\r\n}\r\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nInjectionKey, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n var globalPrototype = Vue.version.slice(0, 2) === '3.' ? Vue.config.globalProperties : Vue.prototype\n globalPrototype.$clipboardConfig = VueClipboardConfig\n globalPrototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n // FIXME: investigate why $element._vClipboard was missing\n if (!el._vClipboard) return\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n }).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.navigation && typeof props.navigation.nextEl === 'undefined' && typeof props.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.pagination && typeof props.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.scrollbar && typeof props.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n var classes = classNames.split(' ').map(function (c) {\n return c.trim();\n }).filter(function (c) {\n return !!c;\n });\n var unique = [];\n classes.forEach(function (c) {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","/*!\n * vuex v4.1.0\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { inject, effectScope, reactive, watch, computed } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nvar storeKey = 'store';\n\nfunction useStore (key) {\n if ( key === void 0 ) key = null;\n\n return inject(key !== null ? key : storeKey)\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset state\n resetStoreState(store, state, hot);\n}\n\nfunction resetStoreState (store, state, hot) {\n var oldState = store._state;\n var oldScope = store._scope;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computedObj = {};\n var computedCache = {};\n\n // create a new effect scope and create computed object inside it to avoid\n // getters (computed) getting destroyed on component unmount.\n var scope = effectScope(true);\n\n scope.run(function () {\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldState.\n // using partial to return function with only arguments preserved in closure environment.\n computedObj[key] = partial(fn, store);\n computedCache[key] = computed(function () { return computedObj[key](); });\n Object.defineProperty(store.getters, key, {\n get: function () { return computedCache[key].value; },\n enumerable: true // for local getters\n });\n });\n });\n\n store._state = reactive({\n data: state\n });\n\n // register the newly created effect scope to the store so that we can\n // dispose the effects when this method runs again in the future.\n store._scope = scope;\n\n // enable strict mode for new state\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldState) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldState.data = null;\n });\n }\n }\n\n // dispose previously registered effect scope if there is one.\n if (oldScope) {\n oldScope.stop();\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && true) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n parentState[moduleName] = module.state;\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by state update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n watch(function () { return store._state.data; }, function () {\n {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, flush: 'sync' });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nvar LABEL_VUEX_BINDINGS = 'vuex bindings';\nvar MUTATIONS_LAYER_ID = 'vuex:mutations';\nvar ACTIONS_LAYER_ID = 'vuex:actions';\nvar INSPECTOR_ID = 'vuex';\n\nvar actionId = 0;\n\nfunction addDevtools (app, store) {\n setupDevtoolsPlugin(\n {\n id: 'org.vuejs.vuex',\n app: app,\n label: 'Vuex',\n homepage: 'https://next.vuex.vuejs.org/',\n logo: 'https://vuejs.org/images/icons/favicon-96x96.png',\n packageName: 'vuex',\n componentStateTypes: [LABEL_VUEX_BINDINGS]\n },\n function (api) {\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: 'Vuex Mutations',\n color: COLOR_LIME_500\n });\n\n api.addTimelineLayer({\n id: ACTIONS_LAYER_ID,\n label: 'Vuex Actions',\n color: COLOR_LIME_500\n });\n\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Vuex',\n icon: 'storage',\n treeFilterPlaceholder: 'Filter stores...'\n });\n\n api.on.getInspectorTree(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n if (payload.filter) {\n var nodes = [];\n flattenStoreForInspectorTree(nodes, store._modules.root, payload.filter, '');\n payload.rootNodes = nodes;\n } else {\n payload.rootNodes = [\n formatStoreForInspectorTree(store._modules.root, '')\n ];\n }\n }\n });\n\n api.on.getInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n makeLocalGetters(store, modulePath);\n payload.state = formatStoreForInspectorState(\n getStoreModule(store._modules, modulePath),\n modulePath === 'root' ? store.getters : store._makeLocalGettersCache,\n modulePath\n );\n }\n });\n\n api.on.editInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n var path = payload.path;\n if (modulePath !== 'root') {\n path = modulePath.split('/').filter(Boolean).concat( path);\n }\n store._withCommit(function () {\n payload.set(store._state.data, path, payload.state.value);\n });\n }\n });\n\n store.subscribe(function (mutation, state) {\n var data = {};\n\n if (mutation.payload) {\n data.payload = mutation.payload;\n }\n\n data.state = state;\n\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: mutation.type,\n data: data\n }\n });\n });\n\n store.subscribeAction({\n before: function (action, state) {\n var data = {};\n if (action.payload) {\n data.payload = action.payload;\n }\n action._id = actionId++;\n action._time = Date.now();\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: action._time,\n title: action.type,\n groupId: action._id,\n subtitle: 'start',\n data: data\n }\n });\n },\n after: function (action, state) {\n var data = {};\n var duration = Date.now() - action._time;\n data.duration = {\n _custom: {\n type: 'duration',\n display: (duration + \"ms\"),\n tooltip: 'Action duration',\n value: duration\n }\n };\n if (action.payload) {\n data.payload = action.payload;\n }\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: action.type,\n groupId: action._id,\n subtitle: 'end',\n data: data\n }\n });\n }\n });\n }\n );\n}\n\n// extracted from tailwind palette\nvar COLOR_LIME_500 = 0x84cc16;\nvar COLOR_DARK = 0x666666;\nvar COLOR_WHITE = 0xffffff;\n\nvar TAG_NAMESPACED = {\n label: 'namespaced',\n textColor: COLOR_WHITE,\n backgroundColor: COLOR_DARK\n};\n\n/**\n * @param {string} path\n */\nfunction extractNameFromPath (path) {\n return path && path !== 'root' ? path.split('/').slice(-2, -1)[0] : 'Root'\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorNode}\n */\nfunction formatStoreForInspectorTree (module, path) {\n return {\n id: path || 'root',\n // all modules end with a `/`, we want the last segment only\n // cart/ -> cart\n // nested/cart/ -> cart\n label: extractNameFromPath(path),\n tags: module.namespaced ? [TAG_NAMESPACED] : [],\n children: Object.keys(module._children).map(function (moduleName) { return formatStoreForInspectorTree(\n module._children[moduleName],\n path + moduleName + '/'\n ); }\n )\n }\n}\n\n/**\n * @param {import('@vue/devtools-api').CustomInspectorNode[]} result\n * @param {*} module\n * @param {string} filter\n * @param {string} path\n */\nfunction flattenStoreForInspectorTree (result, module, filter, path) {\n if (path.includes(filter)) {\n result.push({\n id: path || 'root',\n label: path.endsWith('/') ? path.slice(0, path.length - 1) : path || 'Root',\n tags: module.namespaced ? [TAG_NAMESPACED] : []\n });\n }\n Object.keys(module._children).forEach(function (moduleName) {\n flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + '/');\n });\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorState}\n */\nfunction formatStoreForInspectorState (module, getters, path) {\n getters = path === 'root' ? getters : getters[path];\n var gettersKeys = Object.keys(getters);\n var storeState = {\n state: Object.keys(module.state).map(function (key) { return ({\n key: key,\n editable: true,\n value: module.state[key]\n }); })\n };\n\n if (gettersKeys.length) {\n var tree = transformPathsToObjectTree(getters);\n storeState.getters = Object.keys(tree).map(function (key) { return ({\n key: key.endsWith('/') ? extractNameFromPath(key) : key,\n editable: false,\n value: canThrow(function () { return tree[key]; })\n }); });\n }\n\n return storeState\n}\n\nfunction transformPathsToObjectTree (getters) {\n var result = {};\n Object.keys(getters).forEach(function (key) {\n var path = key.split('/');\n if (path.length > 1) {\n var target = result;\n var leafKey = path.pop();\n path.forEach(function (p) {\n if (!target[p]) {\n target[p] = {\n _custom: {\n value: {},\n display: p,\n tooltip: 'Module',\n abstract: true\n }\n };\n }\n target = target[p]._custom.value;\n });\n target[leafKey] = canThrow(function () { return getters[key]; });\n } else {\n result[key] = canThrow(function () { return getters[key]; });\n }\n });\n return result\n}\n\nfunction getStoreModule (moduleMap, path) {\n var names = path.split('/').filter(function (n) { return n; });\n return names.reduce(\n function (module, moduleName, i) {\n var child = module[moduleName];\n if (!child) {\n throw new Error((\"Missing module \\\"\" + moduleName + \"\\\" for path \\\"\" + path + \"\\\".\"))\n }\n return i === names.length - 1 ? child : child._children\n },\n path === 'root' ? moduleMap : moduleMap.root._children\n )\n}\n\nfunction canThrow (cb) {\n try {\n return cb()\n } catch (e) {\n return e\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nfunction createStore (options) {\n return new Store(options)\n}\n\nvar Store = function Store (options) {\n var this$1$1 = this;\n if ( options === void 0 ) options = {};\n\n {\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n var devtools = options.devtools;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._makeLocalGettersCache = Object.create(null);\n\n // EffectScope instance. when registering new getters, we wrap them inside\n // EffectScope so that getters (computed) would not be destroyed on\n // component unmount.\n this._scope = null;\n\n this._devtools = devtools;\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store state, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreState(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1$1); });\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nStore.prototype.install = function install (app, injectKey) {\n app.provide(injectKey || storeKey, this);\n app.config.globalProperties.$store = this;\n\n var useDevtools = this._devtools !== undefined\n ? this._devtools\n : true ;\n\n if (useDevtools) {\n addDevtools(app, this);\n }\n};\n\nprototypeAccessors.state.get = function () {\n return this._state.data\n};\n\nprototypeAccessors.state.set = function (v) {\n {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1$1.state); });\n\n if (\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1$1.state, error); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch$1 (getter, cb, options) {\n var this$1$1 = this;\n\n {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return watch(function () { return getter(this$1$1.state, this$1$1.getters); }, cb, Object.assign({}, options))\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1$1 = this;\n\n this._withCommit(function () {\n this$1$1._state.data = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreState(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1$1.state, path.slice(0, -1));\n delete parentState[path[path.length - 1]];\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if (!isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if (!isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if (!isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (!(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if (!isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (!module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n version: '4.1.0',\n Store: Store,\n storeKey: storeKey,\n createStore: createStore,\n useStore: useStore,\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, createStore, mapActions, mapGetters, mapMutations, mapState, storeKey, useStore };\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.27.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = {\n \"version\": \"0.22.0\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","/*!\n * vue-router v4.1.6\n * (c) 2022 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\r\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\r\n}\r\nconst assign = Object.assign;\r\nfunction applyToParams(fn, params) {\r\n const newParams = {};\r\n for (const key in params) {\r\n const value = params[key];\r\n newParams[key] = isArray(value)\r\n ? value.map(fn)\r\n : fn(value);\r\n }\r\n return newParams;\r\n}\r\nconst noop = () => { };\r\n/**\r\n * Typesafe alternative to Array.isArray\r\n * https://github.com/microsoft/TypeScript/pull/48228\r\n */\r\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\r\n // avoid using ...args as it breaks in older Edge builds\r\n const args = Array.from(arguments).slice(1);\r\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\r\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\r\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\r\n/**\r\n * Transforms a URI into a normalized history location\r\n *\r\n * @param parseQuery\r\n * @param location - URI to normalize\r\n * @param currentLocation - current absolute location. Allows resolving relative\r\n * paths. Must start with `/`. Defaults to `/`\r\n * @returns a normalized history location\r\n */\r\nfunction parseURL(parseQuery, location, currentLocation = '/') {\r\n let path, query = {}, searchString = '', hash = '';\r\n // Could use URL and URLSearchParams but IE 11 doesn't support it\r\n // TODO: move to new URL()\r\n const hashPos = location.indexOf('#');\r\n let searchPos = location.indexOf('?');\r\n // the hash appears before the search, so it's not part of the search string\r\n if (hashPos < searchPos && hashPos >= 0) {\r\n searchPos = -1;\r\n }\r\n if (searchPos > -1) {\r\n path = location.slice(0, searchPos);\r\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\r\n query = parseQuery(searchString);\r\n }\r\n if (hashPos > -1) {\r\n path = path || location.slice(0, hashPos);\r\n // keep the # character\r\n hash = location.slice(hashPos, location.length);\r\n }\r\n // no search and no query\r\n path = resolveRelativePath(path != null ? path : location, currentLocation);\r\n // empty path means a relative query or hash `?foo=f`, `#thing`\r\n return {\r\n fullPath: path + (searchString && '?') + searchString + hash,\r\n path,\r\n query,\r\n hash,\r\n };\r\n}\r\n/**\r\n * Stringifies a URL object\r\n *\r\n * @param stringifyQuery\r\n * @param location\r\n */\r\nfunction stringifyURL(stringifyQuery, location) {\r\n const query = location.query ? stringifyQuery(location.query) : '';\r\n return location.path + (query && '?') + query + (location.hash || '');\r\n}\r\n/**\r\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\r\n *\r\n * @param pathname - location.pathname\r\n * @param base - base to strip off\r\n */\r\nfunction stripBase(pathname, base) {\r\n // no base or base is not found at the beginning\r\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\r\n return pathname;\r\n return pathname.slice(base.length) || '/';\r\n}\r\n/**\r\n * Checks if two RouteLocation are equal. This means that both locations are\r\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\r\n * parameters and `hash` are the same\r\n *\r\n * @param a - first {@link RouteLocation}\r\n * @param b - second {@link RouteLocation}\r\n */\r\nfunction isSameRouteLocation(stringifyQuery, a, b) {\r\n const aLastIndex = a.matched.length - 1;\r\n const bLastIndex = b.matched.length - 1;\r\n return (aLastIndex > -1 &&\r\n aLastIndex === bLastIndex &&\r\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\r\n isSameRouteLocationParams(a.params, b.params) &&\r\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\r\n a.hash === b.hash);\r\n}\r\n/**\r\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\r\n * considered equal to the `RouteRecord` they are aliasing.\r\n *\r\n * @param a - first {@link RouteRecord}\r\n * @param b - second {@link RouteRecord}\r\n */\r\nfunction isSameRouteRecord(a, b) {\r\n // since the original record has an undefined value for aliasOf\r\n // but all aliases point to the original record, this will always compare\r\n // the original record\r\n return (a.aliasOf || a) === (b.aliasOf || b);\r\n}\r\nfunction isSameRouteLocationParams(a, b) {\r\n if (Object.keys(a).length !== Object.keys(b).length)\r\n return false;\r\n for (const key in a) {\r\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction isSameRouteLocationParamsValue(a, b) {\r\n return isArray(a)\r\n ? isEquivalentArray(a, b)\r\n : isArray(b)\r\n ? isEquivalentArray(b, a)\r\n : a === b;\r\n}\r\n/**\r\n * Check if two arrays are the same or if an array with one single entry is the\r\n * same as another primitive value. Used to check query and parameters\r\n *\r\n * @param a - array of values\r\n * @param b - array of values or a single value\r\n */\r\nfunction isEquivalentArray(a, b) {\r\n return isArray(b)\r\n ? a.length === b.length && a.every((value, i) => value === b[i])\r\n : a.length === 1 && a[0] === b;\r\n}\r\n/**\r\n * Resolves a relative path that starts with `.`.\r\n *\r\n * @param to - path location we are resolving\r\n * @param from - currentLocation.path, should start with `/`\r\n */\r\nfunction resolveRelativePath(to, from) {\r\n if (to.startsWith('/'))\r\n return to;\r\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\r\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\r\n return to;\r\n }\r\n if (!to)\r\n return from;\r\n const fromSegments = from.split('/');\r\n const toSegments = to.split('/');\r\n let position = fromSegments.length - 1;\r\n let toPosition;\r\n let segment;\r\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\r\n segment = toSegments[toPosition];\r\n // we stay on the same position\r\n if (segment === '.')\r\n continue;\r\n // go up in the from array\r\n if (segment === '..') {\r\n // we can't go below zero, but we still need to increment toPosition\r\n if (position > 1)\r\n position--;\r\n // continue\r\n }\r\n // we reached a non-relative path, we stop here\r\n else\r\n break;\r\n }\r\n return (fromSegments.slice(0, position).join('/') +\r\n '/' +\r\n toSegments\r\n // ensure we use at least the last element in the toSegments\r\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\r\n .join('/'));\r\n}\n\nvar NavigationType;\r\n(function (NavigationType) {\r\n NavigationType[\"pop\"] = \"pop\";\r\n NavigationType[\"push\"] = \"push\";\r\n})(NavigationType || (NavigationType = {}));\r\nvar NavigationDirection;\r\n(function (NavigationDirection) {\r\n NavigationDirection[\"back\"] = \"back\";\r\n NavigationDirection[\"forward\"] = \"forward\";\r\n NavigationDirection[\"unknown\"] = \"\";\r\n})(NavigationDirection || (NavigationDirection = {}));\r\n/**\r\n * Starting location for Histories\r\n */\r\nconst START = '';\r\n// Generic utils\r\n/**\r\n * Normalizes a base by removing any trailing slash and reading the base tag if\r\n * present.\r\n *\r\n * @param base - base to normalize\r\n */\r\nfunction normalizeBase(base) {\r\n if (!base) {\r\n if (isBrowser) {\r\n // respect tag\r\n const baseEl = document.querySelector('base');\r\n base = (baseEl && baseEl.getAttribute('href')) || '/';\r\n // strip full URL origin\r\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\r\n }\r\n else {\r\n base = '/';\r\n }\r\n }\r\n // ensure leading slash when it was removed by the regex above avoid leading\r\n // slash with hash because the file could be read from the disk like file://\r\n // and the leading slash would cause problems\r\n if (base[0] !== '/' && base[0] !== '#')\r\n base = '/' + base;\r\n // remove the trailing slash so all other method can just do `base + fullPath`\r\n // to build an href\r\n return removeTrailingSlash(base);\r\n}\r\n// remove any character before the hash\r\nconst BEFORE_HASH_RE = /^[^#]+#/;\r\nfunction createHref(base, location) {\r\n return base.replace(BEFORE_HASH_RE, '#') + location;\r\n}\n\nfunction getElementPosition(el, offset) {\r\n const docRect = document.documentElement.getBoundingClientRect();\r\n const elRect = el.getBoundingClientRect();\r\n return {\r\n behavior: offset.behavior,\r\n left: elRect.left - docRect.left - (offset.left || 0),\r\n top: elRect.top - docRect.top - (offset.top || 0),\r\n };\r\n}\r\nconst computeScrollPosition = () => ({\r\n left: window.pageXOffset,\r\n top: window.pageYOffset,\r\n});\r\nfunction scrollToPosition(position) {\r\n let scrollToOptions;\r\n if ('el' in position) {\r\n const positionEl = position.el;\r\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\r\n /**\r\n * `id`s can accept pretty much any characters, including CSS combinators\r\n * like `>` or `~`. It's still possible to retrieve elements using\r\n * `document.getElementById('~')` but it needs to be escaped when using\r\n * `document.querySelector('#\\\\~')` for it to be valid. The only\r\n * requirements for `id`s are them to be unique on the page and to not be\r\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\r\n * be properly escaped for it to work with `querySelector`. We could check\r\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\r\n * would make things inconsistent since they are valid characters for an\r\n * `id` but would need to be escaped when using `querySelector`, breaking\r\n * their usage and ending up in no selector returned. Selectors need to be\r\n * escaped:\r\n *\r\n * - `#1-thing` becomes `#\\31 -thing`\r\n * - `#with~symbols` becomes `#with\\\\~symbols`\r\n *\r\n * - More information about the topic can be found at\r\n * https://mathiasbynens.be/notes/html5-id-class.\r\n * - Practical example: https://mathiasbynens.be/demo/html5-id\r\n */\r\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\r\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\r\n try {\r\n const foundEl = document.querySelector(position.el);\r\n if (isIdSelector && foundEl) {\r\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n catch (err) {\r\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n }\r\n const el = typeof positionEl === 'string'\r\n ? isIdSelector\r\n ? document.getElementById(positionEl.slice(1))\r\n : document.querySelector(positionEl)\r\n : positionEl;\r\n if (!el) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\r\n return;\r\n }\r\n scrollToOptions = getElementPosition(el, position);\r\n }\r\n else {\r\n scrollToOptions = position;\r\n }\r\n if ('scrollBehavior' in document.documentElement.style)\r\n window.scrollTo(scrollToOptions);\r\n else {\r\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\r\n }\r\n}\r\nfunction getScrollKey(path, delta) {\r\n const position = history.state ? history.state.position - delta : -1;\r\n return position + path;\r\n}\r\nconst scrollPositions = new Map();\r\nfunction saveScrollPosition(key, scrollPosition) {\r\n scrollPositions.set(key, scrollPosition);\r\n}\r\nfunction getSavedScrollPosition(key) {\r\n const scroll = scrollPositions.get(key);\r\n // consume it so it's not used again\r\n scrollPositions.delete(key);\r\n return scroll;\r\n}\r\n// TODO: RFC about how to save scroll position\r\n/**\r\n * ScrollBehavior instance used by the router to compute and restore the scroll\r\n * position when navigating.\r\n */\r\n// export interface ScrollHandler {\r\n// // returns a scroll position that can be saved in history\r\n// compute(): ScrollPositionEntry\r\n// // can take an extended ScrollPositionEntry\r\n// scroll(position: ScrollPosition): void\r\n// }\r\n// export const scrollHandler: ScrollHandler = {\r\n// compute: computeScroll,\r\n// scroll: scrollToPosition,\r\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\r\n/**\r\n * Creates a normalized history location from a window.location object\r\n * @param location -\r\n */\r\nfunction createCurrentLocation(base, location) {\r\n const { pathname, search, hash } = location;\r\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\r\n const hashPos = base.indexOf('#');\r\n if (hashPos > -1) {\r\n let slicePos = hash.includes(base.slice(hashPos))\r\n ? base.slice(hashPos).length\r\n : 1;\r\n let pathFromHash = hash.slice(slicePos);\r\n // prepend the starting slash to hash so the url starts with /#\r\n if (pathFromHash[0] !== '/')\r\n pathFromHash = '/' + pathFromHash;\r\n return stripBase(pathFromHash, '');\r\n }\r\n const path = stripBase(pathname, base);\r\n return path + search + hash;\r\n}\r\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\r\n let listeners = [];\r\n let teardowns = [];\r\n // TODO: should it be a stack? a Dict. Check if the popstate listener\r\n // can trigger twice\r\n let pauseState = null;\r\n const popStateHandler = ({ state, }) => {\r\n const to = createCurrentLocation(base, location);\r\n const from = currentLocation.value;\r\n const fromState = historyState.value;\r\n let delta = 0;\r\n if (state) {\r\n currentLocation.value = to;\r\n historyState.value = state;\r\n // ignore the popstate and reset the pauseState\r\n if (pauseState && pauseState === from) {\r\n pauseState = null;\r\n return;\r\n }\r\n delta = fromState ? state.position - fromState.position : 0;\r\n }\r\n else {\r\n replace(to);\r\n }\r\n // console.log({ deltaFromCurrent })\r\n // Here we could also revert the navigation by calling history.go(-delta)\r\n // this listener will have to be adapted to not trigger again and to wait for the url\r\n // to be updated before triggering the listeners. Some kind of validation function would also\r\n // need to be passed to the listeners so the navigation can be accepted\r\n // call all listeners\r\n listeners.forEach(listener => {\r\n listener(currentLocation.value, from, {\r\n delta,\r\n type: NavigationType.pop,\r\n direction: delta\r\n ? delta > 0\r\n ? NavigationDirection.forward\r\n : NavigationDirection.back\r\n : NavigationDirection.unknown,\r\n });\r\n });\r\n };\r\n function pauseListeners() {\r\n pauseState = currentLocation.value;\r\n }\r\n function listen(callback) {\r\n // set up the listener and prepare teardown callbacks\r\n listeners.push(callback);\r\n const teardown = () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n teardowns.push(teardown);\r\n return teardown;\r\n }\r\n function beforeUnloadListener() {\r\n const { history } = window;\r\n if (!history.state)\r\n return;\r\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\r\n }\r\n function destroy() {\r\n for (const teardown of teardowns)\r\n teardown();\r\n teardowns = [];\r\n window.removeEventListener('popstate', popStateHandler);\r\n window.removeEventListener('beforeunload', beforeUnloadListener);\r\n }\r\n // set up the listeners and prepare teardown callbacks\r\n window.addEventListener('popstate', popStateHandler);\r\n window.addEventListener('beforeunload', beforeUnloadListener);\r\n return {\r\n pauseListeners,\r\n listen,\r\n destroy,\r\n };\r\n}\r\n/**\r\n * Creates a state object\r\n */\r\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\r\n return {\r\n back,\r\n current,\r\n forward,\r\n replaced,\r\n position: window.history.length,\r\n scroll: computeScroll ? computeScrollPosition() : null,\r\n };\r\n}\r\nfunction useHistoryStateNavigation(base) {\r\n const { history, location } = window;\r\n // private variables\r\n const currentLocation = {\r\n value: createCurrentLocation(base, location),\r\n };\r\n const historyState = { value: history.state };\r\n // build current history entry as this is a fresh navigation\r\n if (!historyState.value) {\r\n changeLocation(currentLocation.value, {\r\n back: null,\r\n current: currentLocation.value,\r\n forward: null,\r\n // the length is off by one, we need to decrease it\r\n position: history.length - 1,\r\n replaced: true,\r\n // don't add a scroll as the user may have an anchor, and we want\r\n // scrollBehavior to be triggered without a saved position\r\n scroll: null,\r\n }, true);\r\n }\r\n function changeLocation(to, state, replace) {\r\n /**\r\n * if a base tag is provided, and we are on a normal domain, we have to\r\n * respect the provided `base` attribute because pushState() will use it and\r\n * potentially erase anything before the `#` like at\r\n * https://github.com/vuejs/router/issues/685 where a base of\r\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\r\n * there is no host, the `` tag makes no sense and if there isn't a\r\n * base tag we can just use everything after the `#`.\r\n */\r\n const hashIndex = base.indexOf('#');\r\n const url = hashIndex > -1\r\n ? (location.host && document.querySelector('base')\r\n ? base\r\n : base.slice(hashIndex)) + to\r\n : createBaseLocation() + base + to;\r\n try {\r\n // BROWSER QUIRK\r\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\r\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\r\n historyState.value = state;\r\n }\r\n catch (err) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Error with push/replace State', err);\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n // Force the navigation, this also resets the call count\r\n location[replace ? 'replace' : 'assign'](url);\r\n }\r\n }\r\n function replace(to, data) {\r\n const state = assign({}, history.state, buildState(historyState.value.back, \r\n // keep back and forward entries but override current position\r\n to, historyState.value.forward, true), data, { position: historyState.value.position });\r\n changeLocation(to, state, true);\r\n currentLocation.value = to;\r\n }\r\n function push(to, data) {\r\n // Add to current entry the information of where we are going\r\n // as well as saving the current position\r\n const currentState = assign({}, \r\n // use current history state to gracefully handle a wrong call to\r\n // history.replaceState\r\n // https://github.com/vuejs/router/issues/366\r\n historyState.value, history.state, {\r\n forward: to,\r\n scroll: computeScrollPosition(),\r\n });\r\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\r\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\r\n `history.replaceState(history.state, '', url)\\n\\n` +\r\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\r\n }\r\n changeLocation(currentState.current, currentState, true);\r\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\r\n changeLocation(to, state, false);\r\n currentLocation.value = to;\r\n }\r\n return {\r\n location: currentLocation,\r\n state: historyState,\r\n push,\r\n replace,\r\n };\r\n}\r\n/**\r\n * Creates an HTML5 history. Most common history for single page applications.\r\n *\r\n * @param base -\r\n */\r\nfunction createWebHistory(base) {\r\n base = normalizeBase(base);\r\n const historyNavigation = useHistoryStateNavigation(base);\r\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\r\n function go(delta, triggerListeners = true) {\r\n if (!triggerListeners)\r\n historyListeners.pauseListeners();\r\n history.go(delta);\r\n }\r\n const routerHistory = assign({\r\n // it's overridden right after\r\n location: '',\r\n base,\r\n go,\r\n createHref: createHref.bind(null, base),\r\n }, historyNavigation, historyListeners);\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => historyNavigation.location.value,\r\n });\r\n Object.defineProperty(routerHistory, 'state', {\r\n enumerable: true,\r\n get: () => historyNavigation.state.value,\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\r\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\r\n *\r\n * @param base - Base applied to all urls, defaults to '/'\r\n * @returns a history object that can be passed to the router constructor\r\n */\r\nfunction createMemoryHistory(base = '') {\r\n let listeners = [];\r\n let queue = [START];\r\n let position = 0;\r\n base = normalizeBase(base);\r\n function setLocation(location) {\r\n position++;\r\n if (position === queue.length) {\r\n // we are at the end, we can simply append a new entry\r\n queue.push(location);\r\n }\r\n else {\r\n // we are in the middle, we remove everything from here in the queue\r\n queue.splice(position);\r\n queue.push(location);\r\n }\r\n }\r\n function triggerListeners(to, from, { direction, delta }) {\r\n const info = {\r\n direction,\r\n delta,\r\n type: NavigationType.pop,\r\n };\r\n for (const callback of listeners) {\r\n callback(to, from, info);\r\n }\r\n }\r\n const routerHistory = {\r\n // rewritten by Object.defineProperty\r\n location: START,\r\n // TODO: should be kept in queue\r\n state: {},\r\n base,\r\n createHref: createHref.bind(null, base),\r\n replace(to) {\r\n // remove current entry and decrement position\r\n queue.splice(position--, 1);\r\n setLocation(to);\r\n },\r\n push(to, data) {\r\n setLocation(to);\r\n },\r\n listen(callback) {\r\n listeners.push(callback);\r\n return () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n },\r\n destroy() {\r\n listeners = [];\r\n queue = [START];\r\n position = 0;\r\n },\r\n go(delta, shouldTrigger = true) {\r\n const from = this.location;\r\n const direction = \r\n // we are considering delta === 0 going forward, but in abstract mode\r\n // using 0 for the delta doesn't make sense like it does in html5 where\r\n // it reloads the page\r\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\r\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\r\n if (shouldTrigger) {\r\n triggerListeners(this.location, from, {\r\n direction,\r\n delta,\r\n });\r\n }\r\n },\r\n };\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => queue[position],\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\r\n * handle any URL is not possible.\r\n *\r\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\r\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\r\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\r\n * after the `#`).\r\n *\r\n * @example\r\n * ```js\r\n * // at https://example.com/folder\r\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\r\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\r\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\r\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\r\n * // you should avoid doing this because it changes the original url and breaks copying urls\r\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\r\n *\r\n * // at file:///usr/etc/folder/index.html\r\n * // for locations with no `host`, the base is ignored\r\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\r\n * ```\r\n */\r\nfunction createWebHashHistory(base) {\r\n // Make sure this implementation is fine in terms of encoding, specially for IE11\r\n // for `file://`, directly use the pathname and ignore the base\r\n // location.pathname contains an initial `/` even at the root: `https://example.com`\r\n base = location.host ? base || location.pathname + location.search : '';\r\n // allow the user to provide a `#` in the middle: `/base/#/app`\r\n if (!base.includes('#'))\r\n base += '#';\r\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\r\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\r\n }\r\n return createWebHistory(base);\r\n}\n\nfunction isRouteLocation(route) {\r\n return typeof route === 'string' || (route && typeof route === 'object');\r\n}\r\nfunction isRouteName(name) {\r\n return typeof name === 'string' || typeof name === 'symbol';\r\n}\n\n/**\r\n * Initial route location where the router is. Can be used in navigation guards\r\n * to differentiate the initial navigation.\r\n *\r\n * @example\r\n * ```js\r\n * import { START_LOCATION } from 'vue-router'\r\n *\r\n * router.beforeEach((to, from) => {\r\n * if (from === START_LOCATION) {\r\n * // initial navigation\r\n * }\r\n * })\r\n * ```\r\n */\r\nconst START_LOCATION_NORMALIZED = {\r\n path: '/',\r\n name: undefined,\r\n params: {},\r\n query: {},\r\n hash: '',\r\n fullPath: '/',\r\n matched: [],\r\n meta: {},\r\n redirectedFrom: undefined,\r\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\r\n/**\r\n * Enumeration with all possible types for navigation failures. Can be passed to\r\n * {@link isNavigationFailure} to check for specific failures.\r\n */\r\nvar NavigationFailureType;\r\n(function (NavigationFailureType) {\r\n /**\r\n * An aborted navigation is a navigation that failed because a navigation\r\n * guard returned `false` or called `next(false)`\r\n */\r\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\r\n /**\r\n * A cancelled navigation is a navigation that failed because a more recent\r\n * navigation finished started (not necessarily finished).\r\n */\r\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\r\n /**\r\n * A duplicated navigation is a navigation that failed because it was\r\n * initiated while already being at the exact same location.\r\n */\r\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\r\n})(NavigationFailureType || (NavigationFailureType = {}));\r\n// DEV only debug messages\r\nconst ErrorTypeMessages = {\r\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\r\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\r\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\r\n : ''}`;\r\n },\r\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\r\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\r\n },\r\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\r\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\r\n },\r\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\r\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\r\n },\r\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\r\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\r\n },\r\n};\r\nfunction createRouterError(type, params) {\r\n // keep full error messages in cjs versions\r\n if ((process.env.NODE_ENV !== 'production') || !true) {\r\n return assign(new Error(ErrorTypeMessages[type](params)), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n else {\r\n return assign(new Error(), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n}\r\nfunction isNavigationFailure(error, type) {\r\n return (error instanceof Error &&\r\n NavigationFailureSymbol in error &&\r\n (type == null || !!(error.type & type)));\r\n}\r\nconst propertiesToLog = ['params', 'query', 'hash'];\r\nfunction stringifyRoute(to) {\r\n if (typeof to === 'string')\r\n return to;\r\n if ('path' in to)\r\n return to.path;\r\n const location = {};\r\n for (const key of propertiesToLog) {\r\n if (key in to)\r\n location[key] = to[key];\r\n }\r\n return JSON.stringify(location, null, 2);\r\n}\n\n// default pattern for a param: non-greedy everything but /\r\nconst BASE_PARAM_PATTERN = '[^/]+?';\r\nconst BASE_PATH_PARSER_OPTIONS = {\r\n sensitive: false,\r\n strict: false,\r\n start: true,\r\n end: true,\r\n};\r\n// Special Regex characters that must be escaped in static tokens\r\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\r\n/**\r\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\r\n *\r\n * @param segments - array of segments returned by tokenizePath\r\n * @param extraOptions - optional options for the regexp\r\n * @returns a PathParser\r\n */\r\nfunction tokensToParser(segments, extraOptions) {\r\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\r\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\r\n const score = [];\r\n // the regexp as a string\r\n let pattern = options.start ? '^' : '';\r\n // extracted keys\r\n const keys = [];\r\n for (const segment of segments) {\r\n // the root segment needs special treatment\r\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\r\n // allow trailing slash\r\n if (options.strict && !segment.length)\r\n pattern += '/';\r\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\r\n const token = segment[tokenIndex];\r\n // resets the score if we are inside a sub-segment /:a-other-:b\r\n let subSegmentScore = 40 /* PathScore.Segment */ +\r\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\r\n if (token.type === 0 /* TokenType.Static */) {\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n pattern += '/';\r\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\r\n subSegmentScore += 40 /* PathScore.Static */;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional, regexp } = token;\r\n keys.push({\r\n name: value,\r\n repeatable,\r\n optional,\r\n });\r\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\r\n // the user provided a custom regexp /:id(\\\\d+)\r\n if (re !== BASE_PARAM_PATTERN) {\r\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\r\n // make sure the regexp is valid before using it\r\n try {\r\n new RegExp(`(${re})`);\r\n }\r\n catch (err) {\r\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\r\n err.message);\r\n }\r\n }\r\n // when we repeat we must take care of the repeating leading slash\r\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n subPattern =\r\n // avoid an optional / if there are more segments e.g. /:p?-static\r\n // or /:p?-:p2\r\n optional && segment.length < 2\r\n ? `(?:/${subPattern})`\r\n : '/' + subPattern;\r\n if (optional)\r\n subPattern += '?';\r\n pattern += subPattern;\r\n subSegmentScore += 20 /* PathScore.Dynamic */;\r\n if (optional)\r\n subSegmentScore += -8 /* PathScore.BonusOptional */;\r\n if (repeatable)\r\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\r\n if (re === '.*')\r\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\r\n }\r\n segmentScores.push(subSegmentScore);\r\n }\r\n // an empty array like /home/ -> [[{home}], []]\r\n // if (!segment.length) pattern += '/'\r\n score.push(segmentScores);\r\n }\r\n // only apply the strict bonus to the last score\r\n if (options.strict && options.end) {\r\n const i = score.length - 1;\r\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\r\n }\r\n // TODO: dev only warn double trailing slash\r\n if (!options.strict)\r\n pattern += '/?';\r\n if (options.end)\r\n pattern += '$';\r\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\r\n else if (options.strict)\r\n pattern += '(?:/|$)';\r\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\r\n function parse(path) {\r\n const match = path.match(re);\r\n const params = {};\r\n if (!match)\r\n return null;\r\n for (let i = 1; i < match.length; i++) {\r\n const value = match[i] || '';\r\n const key = keys[i - 1];\r\n params[key.name] = value && key.repeatable ? value.split('/') : value;\r\n }\r\n return params;\r\n }\r\n function stringify(params) {\r\n let path = '';\r\n // for optional parameters to allow to be empty\r\n let avoidDuplicatedSlash = false;\r\n for (const segment of segments) {\r\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\r\n path += '/';\r\n avoidDuplicatedSlash = false;\r\n for (const token of segment) {\r\n if (token.type === 0 /* TokenType.Static */) {\r\n path += token.value;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional } = token;\r\n const param = value in params ? params[value] : '';\r\n if (isArray(param) && !repeatable) {\r\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\r\n }\r\n const text = isArray(param)\r\n ? param.join('/')\r\n : param;\r\n if (!text) {\r\n if (optional) {\r\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\r\n if (segment.length < 2) {\r\n // remove the last slash as we could be at the end\r\n if (path.endsWith('/'))\r\n path = path.slice(0, -1);\r\n // do not append a slash on the next iteration\r\n else\r\n avoidDuplicatedSlash = true;\r\n }\r\n }\r\n else\r\n throw new Error(`Missing required param \"${value}\"`);\r\n }\r\n path += text;\r\n }\r\n }\r\n }\r\n // avoid empty path when we have multiple optional params\r\n return path || '/';\r\n }\r\n return {\r\n re,\r\n score,\r\n keys,\r\n parse,\r\n stringify,\r\n };\r\n}\r\n/**\r\n * Compares an array of numbers as used in PathParser.score and returns a\r\n * number. This function can be used to `sort` an array\r\n *\r\n * @param a - first array of numbers\r\n * @param b - second array of numbers\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n * should be sorted first\r\n */\r\nfunction compareScoreArray(a, b) {\r\n let i = 0;\r\n while (i < a.length && i < b.length) {\r\n const diff = b[i] - a[i];\r\n // only keep going if diff === 0\r\n if (diff)\r\n return diff;\r\n i++;\r\n }\r\n // if the last subsegment was Static, the shorter segments should be sorted first\r\n // otherwise sort the longest segment first\r\n if (a.length < b.length) {\r\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? -1\r\n : 1;\r\n }\r\n else if (a.length > b.length) {\r\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? 1\r\n : -1;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * Compare function that can be used with `sort` to sort an array of PathParser\r\n *\r\n * @param a - first PathParser\r\n * @param b - second PathParser\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n */\r\nfunction comparePathParserScore(a, b) {\r\n let i = 0;\r\n const aScore = a.score;\r\n const bScore = b.score;\r\n while (i < aScore.length && i < bScore.length) {\r\n const comp = compareScoreArray(aScore[i], bScore[i]);\r\n // do not return if both are equal\r\n if (comp)\r\n return comp;\r\n i++;\r\n }\r\n if (Math.abs(bScore.length - aScore.length) === 1) {\r\n if (isLastScoreNegative(aScore))\r\n return 1;\r\n if (isLastScoreNegative(bScore))\r\n return -1;\r\n }\r\n // if a and b share the same score entries but b has more, sort b first\r\n return bScore.length - aScore.length;\r\n // this is the ternary version\r\n // return aScore.length < bScore.length\r\n // ? 1\r\n // : aScore.length > bScore.length\r\n // ? -1\r\n // : 0\r\n}\r\n/**\r\n * This allows detecting splats at the end of a path: /home/:id(.*)*\r\n *\r\n * @param score - score to check\r\n * @returns true if the last entry is negative\r\n */\r\nfunction isLastScoreNegative(score) {\r\n const last = score[score.length - 1];\r\n return score.length > 0 && last[last.length - 1] < 0;\r\n}\n\nconst ROOT_TOKEN = {\r\n type: 0 /* TokenType.Static */,\r\n value: '',\r\n};\r\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\r\n// After some profiling, the cache seems to be unnecessary because tokenizePath\r\n// (the slowest part of adding a route) is very fast\r\n// const tokenCache = new Map()\r\nfunction tokenizePath(path) {\r\n if (!path)\r\n return [[]];\r\n if (path === '/')\r\n return [[ROOT_TOKEN]];\r\n if (!path.startsWith('/')) {\r\n throw new Error((process.env.NODE_ENV !== 'production')\r\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\r\n : `Invalid path \"${path}\"`);\r\n }\r\n // if (tokenCache.has(path)) return tokenCache.get(path)!\r\n function crash(message) {\r\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\r\n }\r\n let state = 0 /* TokenizerState.Static */;\r\n let previousState = state;\r\n const tokens = [];\r\n // the segment will always be valid because we get into the initial state\r\n // with the leading /\r\n let segment;\r\n function finalizeSegment() {\r\n if (segment)\r\n tokens.push(segment);\r\n segment = [];\r\n }\r\n // index on the path\r\n let i = 0;\r\n // char at index\r\n let char;\r\n // buffer of the value read\r\n let buffer = '';\r\n // custom regexp for a param\r\n let customRe = '';\r\n function consumeBuffer() {\r\n if (!buffer)\r\n return;\r\n if (state === 0 /* TokenizerState.Static */) {\r\n segment.push({\r\n type: 0 /* TokenType.Static */,\r\n value: buffer,\r\n });\r\n }\r\n else if (state === 1 /* TokenizerState.Param */ ||\r\n state === 2 /* TokenizerState.ParamRegExp */ ||\r\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\r\n if (segment.length > 1 && (char === '*' || char === '+'))\r\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\r\n segment.push({\r\n type: 1 /* TokenType.Param */,\r\n value: buffer,\r\n regexp: customRe,\r\n repeatable: char === '*' || char === '+',\r\n optional: char === '*' || char === '?',\r\n });\r\n }\r\n else {\r\n crash('Invalid state to consume buffer');\r\n }\r\n buffer = '';\r\n }\r\n function addCharToBuffer() {\r\n buffer += char;\r\n }\r\n while (i < path.length) {\r\n char = path[i++];\r\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\r\n previousState = state;\r\n state = 4 /* TokenizerState.EscapeNext */;\r\n continue;\r\n }\r\n switch (state) {\r\n case 0 /* TokenizerState.Static */:\r\n if (char === '/') {\r\n if (buffer) {\r\n consumeBuffer();\r\n }\r\n finalizeSegment();\r\n }\r\n else if (char === ':') {\r\n consumeBuffer();\r\n state = 1 /* TokenizerState.Param */;\r\n }\r\n else {\r\n addCharToBuffer();\r\n }\r\n break;\r\n case 4 /* TokenizerState.EscapeNext */:\r\n addCharToBuffer();\r\n state = previousState;\r\n break;\r\n case 1 /* TokenizerState.Param */:\r\n if (char === '(') {\r\n state = 2 /* TokenizerState.ParamRegExp */;\r\n }\r\n else if (VALID_PARAM_RE.test(char)) {\r\n addCharToBuffer();\r\n }\r\n else {\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n }\r\n break;\r\n case 2 /* TokenizerState.ParamRegExp */:\r\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\r\n // it already works by escaping the closing )\r\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\r\n // is this really something people need since you can also write\r\n // /prefix_:p()_suffix\r\n if (char === ')') {\r\n // handle the escaped )\r\n if (customRe[customRe.length - 1] == '\\\\')\r\n customRe = customRe.slice(0, -1) + char;\r\n else\r\n state = 3 /* TokenizerState.ParamRegExpEnd */;\r\n }\r\n else {\r\n customRe += char;\r\n }\r\n break;\r\n case 3 /* TokenizerState.ParamRegExpEnd */:\r\n // same as finalizing a param\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n customRe = '';\r\n break;\r\n default:\r\n crash('Unknown state');\r\n break;\r\n }\r\n }\r\n if (state === 2 /* TokenizerState.ParamRegExp */)\r\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\r\n consumeBuffer();\r\n finalizeSegment();\r\n // tokenCache.set(path, tokens)\r\n return tokens;\r\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\r\n const parser = tokensToParser(tokenizePath(record.path), options);\r\n // warn against params with the same name\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const existingKeys = new Set();\r\n for (const key of parser.keys) {\r\n if (existingKeys.has(key.name))\r\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\r\n existingKeys.add(key.name);\r\n }\r\n }\r\n const matcher = assign(parser, {\r\n record,\r\n parent,\r\n // these needs to be populated by the parent\r\n children: [],\r\n alias: [],\r\n });\r\n if (parent) {\r\n // both are aliases or both are not aliases\r\n // we don't want to mix them because the order is used when\r\n // passing originalRecord in Matcher.addRoute\r\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\r\n parent.children.push(matcher);\r\n }\r\n return matcher;\r\n}\n\n/**\r\n * Creates a Router Matcher.\r\n *\r\n * @internal\r\n * @param routes - array of initial routes\r\n * @param globalOptions - global route options\r\n */\r\nfunction createRouterMatcher(routes, globalOptions) {\r\n // normalized ordered array of matchers\r\n const matchers = [];\r\n const matcherMap = new Map();\r\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\r\n function getRecordMatcher(name) {\r\n return matcherMap.get(name);\r\n }\r\n function addRoute(record, parent, originalRecord) {\r\n // used later on to remove by name\r\n const isRootAdd = !originalRecord;\r\n const mainNormalizedRecord = normalizeRouteRecord(record);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\r\n }\r\n // we might be the child of an alias\r\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\r\n const options = mergeOptions(globalOptions, record);\r\n // generate an array of records to correctly handle aliases\r\n const normalizedRecords = [\r\n mainNormalizedRecord,\r\n ];\r\n if ('alias' in record) {\r\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\r\n for (const alias of aliases) {\r\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\r\n // this allows us to hold a copy of the `components` option\r\n // so that async components cache is hold on the original record\r\n components: originalRecord\r\n ? originalRecord.record.components\r\n : mainNormalizedRecord.components,\r\n path: alias,\r\n // we might be the child of an alias\r\n aliasOf: originalRecord\r\n ? originalRecord.record\r\n : mainNormalizedRecord,\r\n // the aliases are always of the same kind as the original since they\r\n // are defined on the same record\r\n }));\r\n }\r\n }\r\n let matcher;\r\n let originalMatcher;\r\n for (const normalizedRecord of normalizedRecords) {\r\n const { path } = normalizedRecord;\r\n // Build up the path for nested routes if the child isn't an absolute\r\n // route. Only add the / delimiter if the child path isn't empty and if the\r\n // parent path doesn't have a trailing slash\r\n if (parent && path[0] !== '/') {\r\n const parentPath = parent.record.path;\r\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\r\n normalizedRecord.path =\r\n parent.record.path + (path && connectingSlash + path);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\r\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\r\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\r\n }\r\n // create the object beforehand, so it can be passed to children\r\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\r\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\r\n checkMissingParamsInAbsolutePath(matcher, parent);\r\n // if we are an alias we must tell the original record that we exist,\r\n // so we can be removed\r\n if (originalRecord) {\r\n originalRecord.alias.push(matcher);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkSameParams(originalRecord, matcher);\r\n }\r\n }\r\n else {\r\n // otherwise, the first record is the original and others are aliases\r\n originalMatcher = originalMatcher || matcher;\r\n if (originalMatcher !== matcher)\r\n originalMatcher.alias.push(matcher);\r\n // remove the route if named and only for the top record (avoid in nested calls)\r\n // this works because the original record is the first one\r\n if (isRootAdd && record.name && !isAliasRecord(matcher))\r\n removeRoute(record.name);\r\n }\r\n if (mainNormalizedRecord.children) {\r\n const children = mainNormalizedRecord.children;\r\n for (let i = 0; i < children.length; i++) {\r\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\r\n }\r\n }\r\n // if there was no original record, then the first one was not an alias and all\r\n // other aliases (if any) need to reference this record when adding children\r\n originalRecord = originalRecord || matcher;\r\n // TODO: add normalized records for more flexibility\r\n // if (parent && isAliasRecord(originalRecord)) {\r\n // parent.children.push(originalRecord)\r\n // }\r\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\r\n // not be reached and pass through the catch all route\r\n if ((matcher.record.components &&\r\n Object.keys(matcher.record.components).length) ||\r\n matcher.record.name ||\r\n matcher.record.redirect) {\r\n insertMatcher(matcher);\r\n }\r\n }\r\n return originalMatcher\r\n ? () => {\r\n // since other matchers are aliases, they should be removed by the original matcher\r\n removeRoute(originalMatcher);\r\n }\r\n : noop;\r\n }\r\n function removeRoute(matcherRef) {\r\n if (isRouteName(matcherRef)) {\r\n const matcher = matcherMap.get(matcherRef);\r\n if (matcher) {\r\n matcherMap.delete(matcherRef);\r\n matchers.splice(matchers.indexOf(matcher), 1);\r\n matcher.children.forEach(removeRoute);\r\n matcher.alias.forEach(removeRoute);\r\n }\r\n }\r\n else {\r\n const index = matchers.indexOf(matcherRef);\r\n if (index > -1) {\r\n matchers.splice(index, 1);\r\n if (matcherRef.record.name)\r\n matcherMap.delete(matcherRef.record.name);\r\n matcherRef.children.forEach(removeRoute);\r\n matcherRef.alias.forEach(removeRoute);\r\n }\r\n }\r\n }\r\n function getRoutes() {\r\n return matchers;\r\n }\r\n function insertMatcher(matcher) {\r\n let i = 0;\r\n while (i < matchers.length &&\r\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\r\n // Adding children with empty path should still appear before the parent\r\n // https://github.com/vuejs/router/issues/1124\r\n (matcher.record.path !== matchers[i].record.path ||\r\n !isRecordChildOf(matcher, matchers[i])))\r\n i++;\r\n matchers.splice(i, 0, matcher);\r\n // only add the original record to the name map\r\n if (matcher.record.name && !isAliasRecord(matcher))\r\n matcherMap.set(matcher.record.name, matcher);\r\n }\r\n function resolve(location, currentLocation) {\r\n let matcher;\r\n let params = {};\r\n let path;\r\n let name;\r\n if ('name' in location && location.name) {\r\n matcher = matcherMap.get(location.name);\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n });\r\n // warn if the user is passing invalid params so they can debug it better when they get removed\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\r\n if (invalidParams.length) {\r\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\r\n }\r\n }\r\n name = matcher.record.name;\r\n params = assign(\r\n // paramsFromLocation is a new object\r\n paramsFromLocation(currentLocation.params, \r\n // only keep params that exist in the resolved location\r\n // TODO: only keep optional params coming from a parent record\r\n matcher.keys.filter(k => !k.optional).map(k => k.name)), \r\n // discard any existing params in the current location that do not exist here\r\n // #1497 this ensures better active/exact matching\r\n location.params &&\r\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\r\n // throws if cannot be stringified\r\n path = matcher.stringify(params);\r\n }\r\n else if ('path' in location) {\r\n // no need to resolve the path with the matcher as it was provided\r\n // this also allows the user to control the encoding\r\n path = location.path;\r\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\r\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`);\r\n }\r\n matcher = matchers.find(m => m.re.test(path));\r\n // matcher should have a value after the loop\r\n if (matcher) {\r\n // we know the matcher works because we tested the regexp\r\n params = matcher.parse(path);\r\n name = matcher.record.name;\r\n }\r\n // location is a relative path\r\n }\r\n else {\r\n // match by name or path of current route\r\n matcher = currentLocation.name\r\n ? matcherMap.get(currentLocation.name)\r\n : matchers.find(m => m.re.test(currentLocation.path));\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n currentLocation,\r\n });\r\n name = matcher.record.name;\r\n // since we are navigating to the same location, we don't need to pick the\r\n // params like when `name` is provided\r\n params = assign({}, currentLocation.params, location.params);\r\n path = matcher.stringify(params);\r\n }\r\n const matched = [];\r\n let parentMatcher = matcher;\r\n while (parentMatcher) {\r\n // reversed order so parents are at the beginning\r\n matched.unshift(parentMatcher.record);\r\n parentMatcher = parentMatcher.parent;\r\n }\r\n return {\r\n name,\r\n path,\r\n params,\r\n matched,\r\n meta: mergeMetaFields(matched),\r\n };\r\n }\r\n // add initial routes\r\n routes.forEach(route => addRoute(route));\r\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\r\n}\r\nfunction paramsFromLocation(params, keys) {\r\n const newParams = {};\r\n for (const key of keys) {\r\n if (key in params)\r\n newParams[key] = params[key];\r\n }\r\n return newParams;\r\n}\r\n/**\r\n * Normalizes a RouteRecordRaw. Creates a copy\r\n *\r\n * @param record\r\n * @returns the normalized version\r\n */\r\nfunction normalizeRouteRecord(record) {\r\n return {\r\n path: record.path,\r\n redirect: record.redirect,\r\n name: record.name,\r\n meta: record.meta || {},\r\n aliasOf: undefined,\r\n beforeEnter: record.beforeEnter,\r\n props: normalizeRecordProps(record),\r\n children: record.children || [],\r\n instances: {},\r\n leaveGuards: new Set(),\r\n updateGuards: new Set(),\r\n enterCallbacks: {},\r\n components: 'components' in record\r\n ? record.components || null\r\n : record.component && { default: record.component },\r\n };\r\n}\r\n/**\r\n * Normalize the optional `props` in a record to always be an object similar to\r\n * components. Also accept a boolean for components.\r\n * @param record\r\n */\r\nfunction normalizeRecordProps(record) {\r\n const propsObject = {};\r\n // props does not exist on redirect records, but we can set false directly\r\n const props = record.props || false;\r\n if ('component' in record) {\r\n propsObject.default = props;\r\n }\r\n else {\r\n // NOTE: we could also allow a function to be applied to every component.\r\n // Would need user feedback for use cases\r\n for (const name in record.components)\r\n propsObject[name] = typeof props === 'boolean' ? props : props[name];\r\n }\r\n return propsObject;\r\n}\r\n/**\r\n * Checks if a record or any of its parent is an alias\r\n * @param record\r\n */\r\nfunction isAliasRecord(record) {\r\n while (record) {\r\n if (record.record.aliasOf)\r\n return true;\r\n record = record.parent;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Merge meta fields of an array of records\r\n *\r\n * @param matched - array of matched records\r\n */\r\nfunction mergeMetaFields(matched) {\r\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\r\n}\r\nfunction mergeOptions(defaults, partialOptions) {\r\n const options = {};\r\n for (const key in defaults) {\r\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\r\n }\r\n return options;\r\n}\r\nfunction isSameParam(a, b) {\r\n return (a.name === b.name &&\r\n a.optional === b.optional &&\r\n a.repeatable === b.repeatable);\r\n}\r\n/**\r\n * Check if a path and its alias have the same required params\r\n *\r\n * @param a - original record\r\n * @param b - alias record\r\n */\r\nfunction checkSameParams(a, b) {\r\n for (const key of a.keys) {\r\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n for (const key of b.keys) {\r\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n}\r\n/**\r\n * A route with a name and a child with an empty path without a name should warn when adding the route\r\n *\r\n * @param mainNormalizedRecord - RouteRecordNormalized\r\n * @param parent - RouteRecordMatcher\r\n */\r\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\r\n if (parent &&\r\n parent.record.name &&\r\n !mainNormalizedRecord.name &&\r\n !mainNormalizedRecord.path) {\r\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\r\n }\r\n}\r\nfunction checkMissingParamsInAbsolutePath(record, parent) {\r\n for (const key of parent.keys) {\r\n if (!record.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\r\n }\r\n}\r\nfunction isRecordChildOf(record, parent) {\r\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\r\n}\n\n/**\r\n * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\r\n * < > `\r\n *\r\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\r\n * defines some extra characters to be encoded. Most browsers do not encode them\r\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\r\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\r\n * plus `-._~`. This extra safety should be applied to query by patching the\r\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\r\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\r\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\r\n * encoded everywhere because some browsers like FF encode it when directly\r\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\r\n */\r\n// const EXTRA_RESERVED_RE = /[!'()*]/g\r\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\r\nconst HASH_RE = /#/g; // %23\r\nconst AMPERSAND_RE = /&/g; // %26\r\nconst SLASH_RE = /\\//g; // %2F\r\nconst EQUAL_RE = /=/g; // %3D\r\nconst IM_RE = /\\?/g; // %3F\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\r\n * seems to be less flexible than not doing so and I can't find out the legacy\r\n * systems requiring this for regular requests like text/html. In the standard,\r\n * the encoding of the plus character is only mentioned for\r\n * application/x-www-form-urlencoded\r\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\r\n * leave the plus character as is in queries. To be more flexible, we allow the\r\n * plus character on the query, but it can also be manually encoded by the user.\r\n *\r\n * Resources:\r\n * - https://url.spec.whatwg.org/#urlencoded-parsing\r\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\r\n */\r\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\r\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\r\nconst ENC_CARET_RE = /%5E/g; // ^\r\nconst ENC_BACKTICK_RE = /%60/g; // `\r\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\r\nconst ENC_PIPE_RE = /%7C/g; // |\r\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\r\nconst ENC_SPACE_RE = /%20/g; // }\r\n/**\r\n * Encode characters that need to be encoded on the path, search and hash\r\n * sections of the URL.\r\n *\r\n * @internal\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction commonEncode(text) {\r\n return encodeURI('' + text)\r\n .replace(ENC_PIPE_RE, '|')\r\n .replace(ENC_BRACKET_OPEN_RE, '[')\r\n .replace(ENC_BRACKET_CLOSE_RE, ']');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the hash section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeHash(text) {\r\n return commonEncode(text)\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^');\r\n}\r\n/**\r\n * Encode characters that need to be encoded query values on the query\r\n * section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeQueryValue(text) {\r\n return (commonEncode(text)\r\n // Encode the space as +, encode the + to differentiate it from the space\r\n .replace(PLUS_RE, '%2B')\r\n .replace(ENC_SPACE_RE, '+')\r\n .replace(HASH_RE, '%23')\r\n .replace(AMPERSAND_RE, '%26')\r\n .replace(ENC_BACKTICK_RE, '`')\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^'));\r\n}\r\n/**\r\n * Like `encodeQueryValue` but also encodes the `=` character.\r\n *\r\n * @param text - string to encode\r\n */\r\nfunction encodeQueryKey(text) {\r\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodePath(text) {\r\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL as a\r\n * param. This function encodes everything {@link encodePath} does plus the\r\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\r\n * string instead.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeParam(text) {\r\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\r\n }\r\n return '' + text;\r\n}\n\n/**\r\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\r\n * version with the leading `?` and without Should work as URLSearchParams\r\n\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n const eqPos = searchParam.indexOf('=');\r\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n/**\r\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\r\n * doesn't prepend a `?`\r\n *\r\n * @internal\r\n *\r\n * @param query - query object to stringify\r\n * @returns string version of the query without the leading `?`\r\n */\r\nfunction stringifyQuery(query) {\r\n let search = '';\r\n for (let key in query) {\r\n const value = query[key];\r\n key = encodeQueryKey(key);\r\n if (value == null) {\r\n // only null adds the value\r\n if (value !== undefined) {\r\n search += (search.length ? '&' : '') + key;\r\n }\r\n continue;\r\n }\r\n // keep null values\r\n const values = isArray(value)\r\n ? value.map(v => v && encodeQueryValue(v))\r\n : [value && encodeQueryValue(value)];\r\n values.forEach(value => {\r\n // skip undefined values in arrays as if they were not present\r\n // smaller code than using filter\r\n if (value !== undefined) {\r\n // only append & with non-empty search\r\n search += (search.length ? '&' : '') + key;\r\n if (value != null)\r\n search += '=' + value;\r\n }\r\n });\r\n }\r\n return search;\r\n}\r\n/**\r\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\r\n * numbers into strings, removing keys with an undefined value and replacing\r\n * undefined with null in arrays\r\n *\r\n * @param query - query object to normalize\r\n * @returns a normalized query object\r\n */\r\nfunction normalizeQuery(query) {\r\n const normalizedQuery = {};\r\n for (const key in query) {\r\n const value = query[key];\r\n if (value !== undefined) {\r\n normalizedQuery[key] = isArray(value)\r\n ? value.map(v => (v == null ? null : '' + v))\r\n : value == null\r\n ? value\r\n : '' + value;\r\n }\r\n }\r\n return normalizedQuery;\r\n}\n\n/**\r\n * RouteRecord being rendered by the closest ancestor Router View. Used for\r\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\r\n * Location Matched\r\n *\r\n * @internal\r\n */\r\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\r\n/**\r\n * Allows overriding the router view depth to control which component in\r\n * `matched` is rendered. rvd stands for Router View Depth\r\n *\r\n * @internal\r\n */\r\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\r\n/**\r\n * Allows overriding the router instance returned by `useRouter` in tests. r\r\n * stands for router\r\n *\r\n * @internal\r\n */\r\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\r\n/**\r\n * Allows overriding the current route returned by `useRoute` in tests. rl\r\n * stands for route location\r\n *\r\n * @internal\r\n */\r\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\r\n/**\r\n * Allows overriding the current route used by router-view. Internally this is\r\n * used when the `route` prop is passed.\r\n *\r\n * @internal\r\n */\r\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\r\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\r\n */\r\nfunction useCallbacks() {\r\n let handlers = [];\r\n function add(handler) {\r\n handlers.push(handler);\r\n return () => {\r\n const i = handlers.indexOf(handler);\r\n if (i > -1)\r\n handlers.splice(i, 1);\r\n };\r\n }\r\n function reset() {\r\n handlers = [];\r\n }\r\n return {\r\n add,\r\n list: () => handlers,\r\n reset,\r\n };\r\n}\n\nfunction registerGuard(record, name, guard) {\r\n const removeFromList = () => {\r\n record[name].delete(guard);\r\n };\r\n onUnmounted(removeFromList);\r\n onDeactivated(removeFromList);\r\n onActivated(() => {\r\n record[name].add(guard);\r\n });\r\n record[name].add(guard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the component for the current\r\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\r\n * used in any component. The guard is removed when the component is unmounted.\r\n *\r\n * @param leaveGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteLeave(leaveGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the current location is about\r\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\r\n * component. The guard is removed when the component is unmounted.\r\n *\r\n * @param updateGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteUpdate(updateGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'updateGuards', updateGuard);\r\n}\r\nfunction guardToPromiseFn(guard, to, from, record, name) {\r\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\r\n const enterCallbackArray = record &&\r\n // name is defined if record is because of the function overload\r\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\r\n return () => new Promise((resolve, reject) => {\r\n const next = (valid) => {\r\n if (valid === false) {\r\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\r\n from,\r\n to,\r\n }));\r\n }\r\n else if (valid instanceof Error) {\r\n reject(valid);\r\n }\r\n else if (isRouteLocation(valid)) {\r\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\r\n from: to,\r\n to: valid,\r\n }));\r\n }\r\n else {\r\n if (enterCallbackArray &&\r\n // since enterCallbackArray is truthy, both record and name also are\r\n record.enterCallbacks[name] === enterCallbackArray &&\r\n typeof valid === 'function') {\r\n enterCallbackArray.push(valid);\r\n }\r\n resolve();\r\n }\r\n };\r\n // wrapping with Promise.resolve allows it to work with both async and sync guards\r\n const guardReturn = guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next);\r\n let guardCall = Promise.resolve(guardReturn);\r\n if (guard.length < 3)\r\n guardCall = guardCall.then(next);\r\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\r\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\r\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\r\n guardCall = guardCall.then(resolvedValue => {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n return Promise.reject(new Error('Invalid navigation guard'));\r\n }\r\n return resolvedValue;\r\n });\r\n }\r\n else if (guardReturn !== undefined) {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n reject(new Error('Invalid navigation guard'));\r\n return;\r\n }\r\n }\r\n }\r\n guardCall.catch(err => reject(err));\r\n });\r\n}\r\nfunction canOnlyBeCalledOnce(next, to, from) {\r\n let called = 0;\r\n return function () {\r\n if (called++ === 1)\r\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\r\n // @ts-expect-error: we put it in the original one because it's easier to check\r\n next._called = true;\r\n if (called === 1)\r\n next.apply(null, arguments);\r\n };\r\n}\r\nfunction extractComponentsGuards(matched, guardType, to, from) {\r\n const guards = [];\r\n for (const record of matched) {\r\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\r\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\r\n ` or \"children\" property.`);\r\n }\r\n for (const name in record.components) {\r\n let rawComponent = record.components[name];\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!rawComponent ||\r\n (typeof rawComponent !== 'object' &&\r\n typeof rawComponent !== 'function')) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\r\n ` a valid component. Received \"${String(rawComponent)}\".`);\r\n // throw to ensure we stop here but warn to ensure the message isn't\r\n // missed by the user\r\n throw new Error('Invalid route component');\r\n }\r\n else if ('then' in rawComponent) {\r\n // warn if user wrote import('/component.vue') instead of () =>\r\n // import('./component.vue')\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\r\n `Promise instead of a function that returns a Promise. Did you ` +\r\n `write \"import('./MyPage.vue')\" instead of ` +\r\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\r\n `production if not fixed.`);\r\n const promise = rawComponent;\r\n rawComponent = () => promise;\r\n }\r\n else if (rawComponent.__asyncLoader &&\r\n // warn only once per component\r\n !rawComponent.__warnedDefineAsync) {\r\n rawComponent.__warnedDefineAsync = true;\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\r\n `using \"defineAsyncComponent()\". ` +\r\n `Write \"() => import('./MyPage.vue')\" instead of ` +\r\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\r\n }\r\n }\r\n // skip update and leave guards if the route component is not mounted\r\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\r\n continue;\r\n if (isRouteComponent(rawComponent)) {\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = rawComponent.__vccOpts || rawComponent;\r\n const guard = options[guardType];\r\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\r\n }\r\n else {\r\n // start requesting the chunk already\r\n let componentPromise = rawComponent();\r\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\r\n componentPromise = Promise.resolve(componentPromise);\r\n }\r\n guards.push(() => componentPromise.then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = resolvedComponent.__vccOpts || resolvedComponent;\r\n const guard = options[guardType];\r\n return guard && guardToPromiseFn(guard, to, from, record, name)();\r\n }));\r\n }\r\n }\r\n }\r\n return guards;\r\n}\r\n/**\r\n * Allows differentiating lazy components from functional components and vue-class-component\r\n * @internal\r\n *\r\n * @param component\r\n */\r\nfunction isRouteComponent(component) {\r\n return (typeof component === 'object' ||\r\n 'displayName' in component ||\r\n 'props' in component ||\r\n '__vccOpts' in component);\r\n}\r\n/**\r\n * Ensures a route is loaded, so it can be passed as o prop to ``.\r\n *\r\n * @param route - resolved route to load\r\n */\r\nfunction loadRouteLocation(route) {\r\n return route.matched.every(record => record.redirect)\r\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\r\n : Promise.all(route.matched.map(record => record.components &&\r\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\r\n const rawComponent = record.components[name];\r\n if (typeof rawComponent === 'function' &&\r\n !('displayName' in rawComponent)) {\r\n promises.push(rawComponent().then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n return;\r\n }));\r\n }\r\n return promises;\r\n }, [])))).then(() => route);\r\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\r\n// `isExactActive` behavior should go through an RFC\r\nfunction useLink(props) {\r\n const router = inject(routerKey);\r\n const currentRoute = inject(routeLocationKey);\r\n const route = computed(() => router.resolve(unref(props.to)));\r\n const activeRecordIndex = computed(() => {\r\n const { matched } = route.value;\r\n const { length } = matched;\r\n const routeMatched = matched[length - 1];\r\n const currentMatched = currentRoute.matched;\r\n if (!routeMatched || !currentMatched.length)\r\n return -1;\r\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\r\n if (index > -1)\r\n return index;\r\n // possible parent record\r\n const parentRecordPath = getOriginalPath(matched[length - 2]);\r\n return (\r\n // we are dealing with nested routes\r\n length > 1 &&\r\n // if the parent and matched route have the same path, this link is\r\n // referring to the empty child. Or we currently are on a different\r\n // child of the same parent\r\n getOriginalPath(routeMatched) === parentRecordPath &&\r\n // avoid comparing the child with its parent\r\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\r\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\r\n : index);\r\n });\r\n const isActive = computed(() => activeRecordIndex.value > -1 &&\r\n includesParams(currentRoute.params, route.value.params));\r\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\r\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\r\n isSameRouteLocationParams(currentRoute.params, route.value.params));\r\n function navigate(e = {}) {\r\n if (guardEvent(e)) {\r\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\r\n // avoid uncaught errors are they are logged anyway\r\n ).catch(noop);\r\n }\r\n return Promise.resolve();\r\n }\r\n // devtools only\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n const instance = getCurrentInstance();\r\n if (instance) {\r\n const linkContextDevtools = {\r\n route: route.value,\r\n isActive: isActive.value,\r\n isExactActive: isExactActive.value,\r\n };\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools = instance.__vrl_devtools || [];\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools.push(linkContextDevtools);\r\n watchEffect(() => {\r\n linkContextDevtools.route = route.value;\r\n linkContextDevtools.isActive = isActive.value;\r\n linkContextDevtools.isExactActive = isExactActive.value;\r\n }, { flush: 'post' });\r\n }\r\n }\r\n /**\r\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\r\n */\r\n return {\r\n route,\r\n href: computed(() => route.value.href),\r\n isActive,\r\n isExactActive,\r\n navigate,\r\n };\r\n}\r\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterLink',\r\n compatConfig: { MODE: 3 },\r\n props: {\r\n to: {\r\n type: [String, Object],\r\n required: true,\r\n },\r\n replace: Boolean,\r\n activeClass: String,\r\n // inactiveClass: String,\r\n exactActiveClass: String,\r\n custom: Boolean,\r\n ariaCurrentValue: {\r\n type: String,\r\n default: 'page',\r\n },\r\n },\r\n useLink,\r\n setup(props, { slots }) {\r\n const link = reactive(useLink(props));\r\n const { options } = inject(routerKey);\r\n const elClass = computed(() => ({\r\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\r\n // [getLinkClass(\r\n // props.inactiveClass,\r\n // options.linkInactiveClass,\r\n // 'router-link-inactive'\r\n // )]: !link.isExactActive,\r\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\r\n }));\r\n return () => {\r\n const children = slots.default && slots.default(link);\r\n return props.custom\r\n ? children\r\n : h('a', {\r\n 'aria-current': link.isExactActive\r\n ? props.ariaCurrentValue\r\n : null,\r\n href: link.href,\r\n // this would override user added attrs but Vue will still add\r\n // the listener, so we end up triggering both\r\n onClick: link.navigate,\r\n class: elClass.value,\r\n }, children);\r\n };\r\n },\r\n});\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\n/**\r\n * Component to render a link that triggers a navigation on click.\r\n */\r\nconst RouterLink = RouterLinkImpl;\r\nfunction guardEvent(e) {\r\n // don't redirect with control keys\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\r\n return;\r\n // don't redirect when preventDefault called\r\n if (e.defaultPrevented)\r\n return;\r\n // don't redirect on right click\r\n if (e.button !== undefined && e.button !== 0)\r\n return;\r\n // don't redirect if `target=\"_blank\"`\r\n // @ts-expect-error getAttribute does exist\r\n if (e.currentTarget && e.currentTarget.getAttribute) {\r\n // @ts-expect-error getAttribute exists\r\n const target = e.currentTarget.getAttribute('target');\r\n if (/\\b_blank\\b/i.test(target))\r\n return;\r\n }\r\n // this may be a Weex event which doesn't have this method\r\n if (e.preventDefault)\r\n e.preventDefault();\r\n return true;\r\n}\r\nfunction includesParams(outer, inner) {\r\n for (const key in inner) {\r\n const innerValue = inner[key];\r\n const outerValue = outer[key];\r\n if (typeof innerValue === 'string') {\r\n if (innerValue !== outerValue)\r\n return false;\r\n }\r\n else {\r\n if (!isArray(outerValue) ||\r\n outerValue.length !== innerValue.length ||\r\n innerValue.some((value, i) => value !== outerValue[i]))\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Get the original path value of a record by following its aliasOf\r\n * @param record\r\n */\r\nfunction getOriginalPath(record) {\r\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\r\n}\r\n/**\r\n * Utility class to get the active class based on defaults.\r\n * @param propClass\r\n * @param globalClass\r\n * @param defaultClass\r\n */\r\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\r\n ? propClass\r\n : globalClass != null\r\n ? globalClass\r\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterView',\r\n // #674 we manually inherit them\r\n inheritAttrs: false,\r\n props: {\r\n name: {\r\n type: String,\r\n default: 'default',\r\n },\r\n route: Object,\r\n },\r\n // Better compat for @vue/compat users\r\n // https://github.com/vuejs/router/issues/1315\r\n compatConfig: { MODE: 3 },\r\n setup(props, { attrs, slots }) {\r\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\r\n const injectedRoute = inject(routerViewLocationKey);\r\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\r\n const injectedDepth = inject(viewDepthKey, 0);\r\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\r\n // that are used to reuse the `path` property\r\n const depth = computed(() => {\r\n let initialDepth = unref(injectedDepth);\r\n const { matched } = routeToDisplay.value;\r\n let matchedRoute;\r\n while ((matchedRoute = matched[initialDepth]) &&\r\n !matchedRoute.components) {\r\n initialDepth++;\r\n }\r\n return initialDepth;\r\n });\r\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\r\n provide(viewDepthKey, computed(() => depth.value + 1));\r\n provide(matchedRouteKey, matchedRouteRef);\r\n provide(routerViewLocationKey, routeToDisplay);\r\n const viewRef = ref();\r\n // watch at the same time the component instance, the route record we are\r\n // rendering, and the name\r\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\r\n // copy reused instances\r\n if (to) {\r\n // this will update the instance for new instances as well as reused\r\n // instances when navigating to a new route\r\n to.instances[name] = instance;\r\n // the component instance is reused for a different route or name, so\r\n // we copy any saved update or leave guards. With async setup, the\r\n // mounting component will mount before the matchedRoute changes,\r\n // making instance === oldInstance, so we check if guards have been\r\n // added before. This works because we remove guards when\r\n // unmounting/deactivating components\r\n if (from && from !== to && instance && instance === oldInstance) {\r\n if (!to.leaveGuards.size) {\r\n to.leaveGuards = from.leaveGuards;\r\n }\r\n if (!to.updateGuards.size) {\r\n to.updateGuards = from.updateGuards;\r\n }\r\n }\r\n }\r\n // trigger beforeRouteEnter next callbacks\r\n if (instance &&\r\n to &&\r\n // if there is no instance but to and from are the same this might be\r\n // the first visit\r\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\r\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\r\n }\r\n }, { flush: 'post' });\r\n return () => {\r\n const route = routeToDisplay.value;\r\n // we need the value at the time we render because when we unmount, we\r\n // navigated to a different location so the value is different\r\n const currentName = props.name;\r\n const matchedRoute = matchedRouteRef.value;\r\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\r\n if (!ViewComponent) {\r\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\r\n }\r\n // props from route configuration\r\n const routePropsOption = matchedRoute.props[currentName];\r\n const routeProps = routePropsOption\r\n ? routePropsOption === true\r\n ? route.params\r\n : typeof routePropsOption === 'function'\r\n ? routePropsOption(route)\r\n : routePropsOption\r\n : null;\r\n const onVnodeUnmounted = vnode => {\r\n // remove the instance reference to prevent leak\r\n if (vnode.component.isUnmounted) {\r\n matchedRoute.instances[currentName] = null;\r\n }\r\n };\r\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\r\n onVnodeUnmounted,\r\n ref: viewRef,\r\n }));\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n isBrowser &&\r\n component.ref) {\r\n // TODO: can display if it's an alias, its props\r\n const info = {\r\n depth: depth.value,\r\n name: matchedRoute.name,\r\n path: matchedRoute.path,\r\n meta: matchedRoute.meta,\r\n };\r\n const internalInstances = isArray(component.ref)\r\n ? component.ref.map(r => r.i)\r\n : [component.ref.i];\r\n internalInstances.forEach(instance => {\r\n // @ts-expect-error\r\n instance.__vrv_devtools = info;\r\n });\r\n }\r\n return (\r\n // pass the vnode to the slot as a prop.\r\n // h and both accept vnodes\r\n normalizeSlot(slots.default, { Component: component, route }) ||\r\n component);\r\n };\r\n },\r\n});\r\nfunction normalizeSlot(slot, data) {\r\n if (!slot)\r\n return null;\r\n const slotContent = slot(data);\r\n return slotContent.length === 1 ? slotContent[0] : slotContent;\r\n}\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\n/**\r\n * Component to display the current route the user is at.\r\n */\r\nconst RouterView = RouterViewImpl;\r\n// warn against deprecated usage with & \r\n// due to functional component being no longer eager in Vue 3\r\nfunction warnDeprecatedUsage() {\r\n const instance = getCurrentInstance();\r\n const parentName = instance.parent && instance.parent.type.name;\r\n if (parentName &&\r\n (parentName === 'KeepAlive' || parentName.includes('Transition'))) {\r\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\r\n warn(` can no longer be used directly inside or .\\n` +\r\n `Use slot props instead:\\n\\n` +\r\n `\\n` +\r\n ` <${comp}>\\n` +\r\n ` \\n` +\r\n ` \\n` +\r\n ``);\r\n }\r\n}\n\n/**\r\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\r\n *\r\n * @param routeLocation - routeLocation to format\r\n * @param tooltip - optional tooltip\r\n * @returns a copy of the routeLocation\r\n */\r\nfunction formatRouteLocation(routeLocation, tooltip) {\r\n const copy = assign({}, routeLocation, {\r\n // remove variables that can contain vue instances\r\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\r\n });\r\n return {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: routeLocation.fullPath,\r\n tooltip,\r\n value: copy,\r\n },\r\n };\r\n}\r\nfunction formatDisplay(display) {\r\n return {\r\n _custom: {\r\n display,\r\n },\r\n };\r\n}\r\n// to support multiple router instances\r\nlet routerId = 0;\r\nfunction addDevtools(app, router, matcher) {\r\n // Take over router.beforeEach and afterEach\r\n // make sure we are not registering the devtool twice\r\n if (router.__hasDevtools)\r\n return;\r\n router.__hasDevtools = true;\r\n // increment to support multiple router instances\r\n const id = routerId++;\r\n setupDevtoolsPlugin({\r\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\r\n label: 'Vue Router',\r\n packageName: 'vue-router',\r\n homepage: 'https://router.vuejs.org',\r\n logo: 'https://router.vuejs.org/logo.png',\r\n componentStateTypes: ['Routing'],\r\n app,\r\n }, api => {\r\n if (typeof api.now !== 'function') {\r\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\r\n }\r\n // display state added by the router\r\n api.on.inspectComponent((payload, ctx) => {\r\n if (payload.instanceData) {\r\n payload.instanceData.state.push({\r\n type: 'Routing',\r\n key: '$route',\r\n editable: false,\r\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\r\n });\r\n }\r\n });\r\n // mark router-link as active and display tags on router views\r\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\r\n if (componentInstance.__vrv_devtools) {\r\n const info = componentInstance.__vrv_devtools;\r\n node.tags.push({\r\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\r\n textColor: 0,\r\n tooltip: 'This component is rendered by <router-view>',\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n // if multiple useLink are used\r\n if (isArray(componentInstance.__vrl_devtools)) {\r\n componentInstance.__devtoolsApi = api;\r\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\r\n let backgroundColor = ORANGE_400;\r\n let tooltip = '';\r\n if (devtoolsData.isExactActive) {\r\n backgroundColor = LIME_500;\r\n tooltip = 'This is exactly active';\r\n }\r\n else if (devtoolsData.isActive) {\r\n backgroundColor = BLUE_600;\r\n tooltip = 'This link is active';\r\n }\r\n node.tags.push({\r\n label: devtoolsData.route.path,\r\n textColor: 0,\r\n tooltip,\r\n backgroundColor,\r\n });\r\n });\r\n }\r\n });\r\n watch(router.currentRoute, () => {\r\n // refresh active state\r\n refreshRoutesView();\r\n api.notifyComponentUpdate();\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n const navigationsLayerId = 'router:navigations:' + id;\r\n api.addTimelineLayer({\r\n id: navigationsLayerId,\r\n label: `Router${id ? ' ' + id : ''} Navigations`,\r\n color: 0x40a8c4,\r\n });\r\n // const errorsLayerId = 'router:errors'\r\n // api.addTimelineLayer({\r\n // id: errorsLayerId,\r\n // label: 'Router Errors',\r\n // color: 0xea5455,\r\n // })\r\n router.onError((error, to) => {\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'Error during Navigation',\r\n subtitle: to.fullPath,\r\n logType: 'error',\r\n time: api.now(),\r\n data: { error },\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n // attached to `meta` and used to group events\r\n let navigationId = 0;\r\n router.beforeEach((to, from) => {\r\n const data = {\r\n guard: formatDisplay('beforeEach'),\r\n from: formatRouteLocation(from, 'Current Location during this navigation'),\r\n to: formatRouteLocation(to, 'Target location'),\r\n };\r\n // Used to group navigations together, hide from devtools\r\n Object.defineProperty(to.meta, '__navigationId', {\r\n value: navigationId++,\r\n });\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n time: api.now(),\r\n title: 'Start of navigation',\r\n subtitle: to.fullPath,\r\n data,\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n router.afterEach((to, from, failure) => {\r\n const data = {\r\n guard: formatDisplay('afterEach'),\r\n };\r\n if (failure) {\r\n data.failure = {\r\n _custom: {\r\n type: Error,\r\n readOnly: true,\r\n display: failure ? failure.message : '',\r\n tooltip: 'Navigation Failure',\r\n value: failure,\r\n },\r\n };\r\n data.status = formatDisplay('❌');\r\n }\r\n else {\r\n data.status = formatDisplay('✅');\r\n }\r\n // we set here to have the right order\r\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\r\n data.to = formatRouteLocation(to, 'Target location');\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'End of navigation',\r\n subtitle: to.fullPath,\r\n time: api.now(),\r\n data,\r\n logType: failure ? 'warning' : 'default',\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n /**\r\n * Inspector of Existing routes\r\n */\r\n const routerInspectorId = 'router-inspector:' + id;\r\n api.addInspector({\r\n id: routerInspectorId,\r\n label: 'Routes' + (id ? ' ' + id : ''),\r\n icon: 'book',\r\n treeFilterPlaceholder: 'Search routes',\r\n });\r\n function refreshRoutesView() {\r\n // the routes view isn't active\r\n if (!activeRoutesPayload)\r\n return;\r\n const payload = activeRoutesPayload;\r\n // children routes will appear as nested\r\n let routes = matcher.getRoutes().filter(route => !route.parent);\r\n // reset match state to false\r\n routes.forEach(resetMatchStateOnRouteRecord);\r\n // apply a match state if there is a payload\r\n if (payload.filter) {\r\n routes = routes.filter(route => \r\n // save matches state based on the payload\r\n isRouteMatching(route, payload.filter.toLowerCase()));\r\n }\r\n // mark active routes\r\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\r\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\r\n }\r\n let activeRoutesPayload;\r\n api.on.getInspectorTree(payload => {\r\n activeRoutesPayload = payload;\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n refreshRoutesView();\r\n }\r\n });\r\n /**\r\n * Display information about the currently selected route record\r\n */\r\n api.on.getInspectorState(payload => {\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n const routes = matcher.getRoutes();\r\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\r\n if (route) {\r\n payload.state = {\r\n options: formatRouteRecordMatcherForStateInspector(route),\r\n };\r\n }\r\n }\r\n });\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n}\r\nfunction modifierForKey(key) {\r\n if (key.optional) {\r\n return key.repeatable ? '*' : '?';\r\n }\r\n else {\r\n return key.repeatable ? '+' : '';\r\n }\r\n}\r\nfunction formatRouteRecordMatcherForStateInspector(route) {\r\n const { record } = route;\r\n const fields = [\r\n { editable: false, key: 'path', value: record.path },\r\n ];\r\n if (record.name != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'name',\r\n value: record.name,\r\n });\r\n }\r\n fields.push({ editable: false, key: 'regexp', value: route.re });\r\n if (route.keys.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'keys',\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.keys\r\n .map(key => `${key.name}${modifierForKey(key)}`)\r\n .join(' '),\r\n tooltip: 'Param keys',\r\n value: route.keys,\r\n },\r\n },\r\n });\r\n }\r\n if (record.redirect != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'redirect',\r\n value: record.redirect,\r\n });\r\n }\r\n if (route.alias.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'aliases',\r\n value: route.alias.map(alias => alias.record.path),\r\n });\r\n }\r\n if (Object.keys(route.record.meta).length) {\r\n fields.push({\r\n editable: false,\r\n key: 'meta',\r\n value: route.record.meta,\r\n });\r\n }\r\n fields.push({\r\n key: 'score',\r\n editable: false,\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.score.map(score => score.join(', ')).join(' | '),\r\n tooltip: 'Score used to sort routes',\r\n value: route.score,\r\n },\r\n },\r\n });\r\n return fields;\r\n}\r\n/**\r\n * Extracted from tailwind palette\r\n */\r\nconst PINK_500 = 0xec4899;\r\nconst BLUE_600 = 0x2563eb;\r\nconst LIME_500 = 0x84cc16;\r\nconst CYAN_400 = 0x22d3ee;\r\nconst ORANGE_400 = 0xfb923c;\r\n// const GRAY_100 = 0xf4f4f5\r\nconst DARK = 0x666666;\r\nfunction formatRouteRecordForInspector(route) {\r\n const tags = [];\r\n const { record } = route;\r\n if (record.name != null) {\r\n tags.push({\r\n label: String(record.name),\r\n textColor: 0,\r\n backgroundColor: CYAN_400,\r\n });\r\n }\r\n if (record.aliasOf) {\r\n tags.push({\r\n label: 'alias',\r\n textColor: 0,\r\n backgroundColor: ORANGE_400,\r\n });\r\n }\r\n if (route.__vd_match) {\r\n tags.push({\r\n label: 'matches',\r\n textColor: 0,\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n if (route.__vd_exactActive) {\r\n tags.push({\r\n label: 'exact',\r\n textColor: 0,\r\n backgroundColor: LIME_500,\r\n });\r\n }\r\n if (route.__vd_active) {\r\n tags.push({\r\n label: 'active',\r\n textColor: 0,\r\n backgroundColor: BLUE_600,\r\n });\r\n }\r\n if (record.redirect) {\r\n tags.push({\r\n label: typeof record.redirect === 'string'\r\n ? `redirect: ${record.redirect}`\r\n : 'redirects',\r\n textColor: 0xffffff,\r\n backgroundColor: DARK,\r\n });\r\n }\r\n // add an id to be able to select it. Using the `path` is not possible because\r\n // empty path children would collide with their parents\r\n let id = record.__vd_id;\r\n if (id == null) {\r\n id = String(routeRecordId++);\r\n record.__vd_id = id;\r\n }\r\n return {\r\n id,\r\n label: record.path,\r\n tags,\r\n children: route.children.map(formatRouteRecordForInspector),\r\n };\r\n}\r\n// incremental id for route records and inspector state\r\nlet routeRecordId = 0;\r\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\r\nfunction markRouteRecordActive(route, currentRoute) {\r\n // no route will be active if matched is empty\r\n // reset the matching state\r\n const isExactActive = currentRoute.matched.length &&\r\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\r\n route.__vd_exactActive = route.__vd_active = isExactActive;\r\n if (!isExactActive) {\r\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\r\n }\r\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\r\n}\r\nfunction resetMatchStateOnRouteRecord(route) {\r\n route.__vd_match = false;\r\n route.children.forEach(resetMatchStateOnRouteRecord);\r\n}\r\nfunction isRouteMatching(route, filter) {\r\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\r\n route.__vd_match = false;\r\n if (!found || found.length < 3) {\r\n return false;\r\n }\r\n // use a regexp without $ at the end to match nested routes better\r\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\r\n if (nonEndingRE.test(filter)) {\r\n // mark children as matches\r\n route.children.forEach(child => isRouteMatching(child, filter));\r\n // exception case: `/`\r\n if (route.record.path !== '/' || filter === '/') {\r\n route.__vd_match = route.re.test(filter);\r\n return true;\r\n }\r\n // hide the / route\r\n return false;\r\n }\r\n const path = route.record.path.toLowerCase();\r\n const decodedPath = decode(path);\r\n // also allow partial matching on the path\r\n if (!filter.startsWith('/') &&\r\n (decodedPath.includes(filter) || path.includes(filter)))\r\n return true;\r\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\r\n return true;\r\n if (route.record.name && String(route.record.name).includes(filter))\r\n return true;\r\n return route.children.some(child => isRouteMatching(child, filter));\r\n}\r\nfunction omit(obj, keys) {\r\n const ret = {};\r\n for (const key in obj) {\r\n if (!keys.includes(key)) {\r\n // @ts-expect-error\r\n ret[key] = obj[key];\r\n }\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Creates a Router instance that can be used by a Vue app.\r\n *\r\n * @param options - {@link RouterOptions}\r\n */\r\nfunction createRouter(options) {\r\n const matcher = createRouterMatcher(options.routes, options);\r\n const parseQuery$1 = options.parseQuery || parseQuery;\r\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\r\n const routerHistory = options.history;\r\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\r\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\r\n ' https://next.router.vuejs.org/api/#history.');\r\n const beforeGuards = useCallbacks();\r\n const beforeResolveGuards = useCallbacks();\r\n const afterGuards = useCallbacks();\r\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\r\n let pendingLocation = START_LOCATION_NORMALIZED;\r\n // leave the scrollRestoration if no scrollBehavior is provided\r\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\r\n const encodeParams = applyToParams.bind(null, encodeParam);\r\n const decodeParams = \r\n // @ts-expect-error: intentionally avoid the type check\r\n applyToParams.bind(null, decode);\r\n function addRoute(parentOrRoute, route) {\r\n let parent;\r\n let record;\r\n if (isRouteName(parentOrRoute)) {\r\n parent = matcher.getRecordMatcher(parentOrRoute);\r\n record = route;\r\n }\r\n else {\r\n record = parentOrRoute;\r\n }\r\n return matcher.addRoute(record, parent);\r\n }\r\n function removeRoute(name) {\r\n const recordMatcher = matcher.getRecordMatcher(name);\r\n if (recordMatcher) {\r\n matcher.removeRoute(recordMatcher);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\r\n }\r\n }\r\n function getRoutes() {\r\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\r\n }\r\n function hasRoute(name) {\r\n return !!matcher.getRecordMatcher(name);\r\n }\r\n function resolve(rawLocation, currentLocation) {\r\n // const objectLocation = routerLocationAsObject(rawLocation)\r\n // we create a copy to modify it later\r\n currentLocation = assign({}, currentLocation || currentRoute.value);\r\n if (typeof rawLocation === 'string') {\r\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\r\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\r\n const href = routerHistory.createHref(locationNormalized.fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//'))\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${rawLocation}\"`);\r\n }\r\n }\r\n // locationNormalized is always a new object\r\n return assign(locationNormalized, matchedRoute, {\r\n params: decodeParams(matchedRoute.params),\r\n hash: decode(locationNormalized.hash),\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n let matcherLocation;\r\n // path could be relative in object as well\r\n if ('path' in rawLocation) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n 'params' in rawLocation &&\r\n !('name' in rawLocation) &&\r\n // @ts-expect-error: the type is never\r\n Object.keys(rawLocation.params).length) {\r\n warn(`Path \"${\r\n // @ts-expect-error: the type is never\r\n rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\r\n }\r\n matcherLocation = assign({}, rawLocation, {\r\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\r\n });\r\n }\r\n else {\r\n // remove any nullish param\r\n const targetParams = assign({}, rawLocation.params);\r\n for (const key in targetParams) {\r\n if (targetParams[key] == null) {\r\n delete targetParams[key];\r\n }\r\n }\r\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\r\n matcherLocation = assign({}, rawLocation, {\r\n params: encodeParams(rawLocation.params),\r\n });\r\n // current location params are decoded, we need to encode them in case the\r\n // matcher merges the params\r\n currentLocation.params = encodeParams(currentLocation.params);\r\n }\r\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\r\n const hash = rawLocation.hash || '';\r\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\r\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\r\n }\r\n // the matcher might have merged current location params, so\r\n // we need to run the decoding again\r\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\r\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\r\n hash: encodeHash(hash),\r\n path: matchedRoute.path,\r\n }));\r\n const href = routerHistory.createHref(fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//')) {\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n }\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${'path' in rawLocation ? rawLocation.path : rawLocation}\"`);\r\n }\r\n }\r\n return assign({\r\n fullPath,\r\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\r\n // hash\r\n hash,\r\n query: \r\n // if the user is using a custom query lib like qs, we might have\r\n // nested objects, so we keep the query as is, meaning it can contain\r\n // numbers at `$route.query`, but at the point, the user will have to\r\n // use their own type anyway.\r\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\r\n stringifyQuery$1 === stringifyQuery\r\n ? normalizeQuery(rawLocation.query)\r\n : (rawLocation.query || {}),\r\n }, matchedRoute, {\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n function locationAsObject(to) {\r\n return typeof to === 'string'\r\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\r\n : assign({}, to);\r\n }\r\n function checkCanceledNavigation(to, from) {\r\n if (pendingLocation !== to) {\r\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\r\n from,\r\n to,\r\n });\r\n }\r\n }\r\n function push(to) {\r\n return pushWithRedirect(to);\r\n }\r\n function replace(to) {\r\n return push(assign(locationAsObject(to), { replace: true }));\r\n }\r\n function handleRedirectRecord(to) {\r\n const lastMatched = to.matched[to.matched.length - 1];\r\n if (lastMatched && lastMatched.redirect) {\r\n const { redirect } = lastMatched;\r\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\r\n if (typeof newTargetLocation === 'string') {\r\n newTargetLocation =\r\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\r\n ? (newTargetLocation = locationAsObject(newTargetLocation))\r\n : // force empty params\r\n { path: newTargetLocation };\r\n // @ts-expect-error: force empty params when a string is passed to let\r\n // the router parse them again\r\n newTargetLocation.params = {};\r\n }\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !('path' in newTargetLocation) &&\r\n !('name' in newTargetLocation)) {\r\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\r\n throw new Error('Invalid redirect');\r\n }\r\n return assign({\r\n query: to.query,\r\n hash: to.hash,\r\n // avoid transferring params if the redirect has a path\r\n params: 'path' in newTargetLocation ? {} : to.params,\r\n }, newTargetLocation);\r\n }\r\n }\r\n function pushWithRedirect(to, redirectedFrom) {\r\n const targetLocation = (pendingLocation = resolve(to));\r\n const from = currentRoute.value;\r\n const data = to.state;\r\n const force = to.force;\r\n // to could be a string where `replace` is a function\r\n const replace = to.replace === true;\r\n const shouldRedirect = handleRedirectRecord(targetLocation);\r\n if (shouldRedirect)\r\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\r\n state: typeof shouldRedirect === 'object'\r\n ? assign({}, data, shouldRedirect.state)\r\n : data,\r\n force,\r\n replace,\r\n }), \r\n // keep original redirectedFrom if it exists\r\n redirectedFrom || targetLocation);\r\n // if it was a redirect we already called `pushWithRedirect` above\r\n const toLocation = targetLocation;\r\n toLocation.redirectedFrom = redirectedFrom;\r\n let failure;\r\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\r\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\r\n // trigger scroll to allow scrolling to the same anchor\r\n handleScroll(from, from, \r\n // this is a push, the only way for it to be triggered from a\r\n // history.listen is with a redirect, which makes it become a push\r\n true, \r\n // This cannot be the first navigation because the initial location\r\n // cannot be manually navigated to\r\n false);\r\n }\r\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\r\n .catch((error) => isNavigationFailure(error)\r\n ? // navigation redirects still mark the router as ready\r\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\r\n ? error\r\n : markAsReady(error) // also returns the error\r\n : // reject any unknown error\r\n triggerError(error, toLocation, from))\r\n .then((failure) => {\r\n if (failure) {\r\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n // we are redirecting to the same location we were already at\r\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\r\n // and we have done it a couple of times\r\n redirectedFrom &&\r\n // @ts-expect-error: added only in dev\r\n (redirectedFrom._count = redirectedFrom._count\r\n ? // @ts-expect-error\r\n redirectedFrom._count + 1\r\n : 1) > 10) {\r\n warn(`Detected an infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`);\r\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\r\n }\r\n return pushWithRedirect(\r\n // keep options\r\n assign({\r\n // preserve an existing replacement but allow the redirect to override it\r\n replace,\r\n }, locationAsObject(failure.to), {\r\n state: typeof failure.to === 'object'\r\n ? assign({}, data, failure.to.state)\r\n : data,\r\n force,\r\n }), \r\n // preserve the original redirectedFrom if any\r\n redirectedFrom || toLocation);\r\n }\r\n }\r\n else {\r\n // if we fail we don't finalize the navigation\r\n failure = finalizeNavigation(toLocation, from, true, replace, data);\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n return failure;\r\n });\r\n }\r\n /**\r\n * Helper to reject and skip all navigation guards if a new navigation happened\r\n * @param to\r\n * @param from\r\n */\r\n function checkCanceledNavigationAndReject(to, from) {\r\n const error = checkCanceledNavigation(to, from);\r\n return error ? Promise.reject(error) : Promise.resolve();\r\n }\r\n // TODO: refactor the whole before guards by internally using router.beforeEach\r\n function navigate(to, from) {\r\n let guards;\r\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\r\n // all components here have been resolved once because we are leaving\r\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\r\n // leavingRecords is already reversed\r\n for (const record of leavingRecords) {\r\n record.leaveGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeRouteLeave guards\r\n return (runGuardQueue(guards)\r\n .then(() => {\r\n // check global guards beforeEach\r\n guards = [];\r\n for (const guard of beforeGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check in components beforeRouteUpdate\r\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\r\n for (const record of updatingRecords) {\r\n record.updateGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check the route beforeEnter\r\n guards = [];\r\n for (const record of to.matched) {\r\n // do not trigger beforeEnter on reused views\r\n if (record.beforeEnter && !from.matched.includes(record)) {\r\n if (isArray(record.beforeEnter)) {\r\n for (const beforeEnter of record.beforeEnter)\r\n guards.push(guardToPromiseFn(beforeEnter, to, from));\r\n }\r\n else {\r\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\r\n }\r\n }\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\r\n // clear existing enterCallbacks, these are added by extractComponentsGuards\r\n to.matched.forEach(record => (record.enterCallbacks = {}));\r\n // check in-component beforeRouteEnter\r\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check global guards beforeResolve\r\n guards = [];\r\n for (const guard of beforeResolveGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n // catch any navigation canceled\r\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\r\n ? err\r\n : Promise.reject(err)));\r\n }\r\n function triggerAfterEach(to, from, failure) {\r\n // navigation is confirmed, call afterGuards\r\n // TODO: wrap with error handlers\r\n for (const guard of afterGuards.list())\r\n guard(to, from, failure);\r\n }\r\n /**\r\n * - Cleans up any navigation guards\r\n * - Changes the url if necessary\r\n * - Calls the scrollBehavior\r\n */\r\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\r\n // a more recent navigation took place\r\n const error = checkCanceledNavigation(toLocation, from);\r\n if (error)\r\n return error;\r\n // only consider as push if it's not the first navigation\r\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\r\n const state = !isBrowser ? {} : history.state;\r\n // change URL only if the user did a push/replace and if it's not the initial navigation because\r\n // it's just reflecting the url\r\n if (isPush) {\r\n // on the initial navigation, we want to reuse the scroll position from\r\n // history state if it exists\r\n if (replace || isFirstNavigation)\r\n routerHistory.replace(toLocation.fullPath, assign({\r\n scroll: isFirstNavigation && state && state.scroll,\r\n }, data));\r\n else\r\n routerHistory.push(toLocation.fullPath, data);\r\n }\r\n // accept current navigation\r\n currentRoute.value = toLocation;\r\n handleScroll(toLocation, from, isPush, isFirstNavigation);\r\n markAsReady();\r\n }\r\n let removeHistoryListener;\r\n // attach listener to history to trigger navigations\r\n function setupListeners() {\r\n // avoid setting up listeners twice due to an invalid first navigation\r\n if (removeHistoryListener)\r\n return;\r\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\r\n if (!router.listening)\r\n return;\r\n // cannot be a redirect route because it was in history\r\n const toLocation = resolve(to);\r\n // due to dynamic routing, and to hash history with manual navigation\r\n // (manually changing the url or calling history.hash = '#/somewhere'),\r\n // there could be a redirect record in history\r\n const shouldRedirect = handleRedirectRecord(toLocation);\r\n if (shouldRedirect) {\r\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\r\n return;\r\n }\r\n pendingLocation = toLocation;\r\n const from = currentRoute.value;\r\n // TODO: should be moved to web history?\r\n if (isBrowser) {\r\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\r\n }\r\n navigate(toLocation, from)\r\n .catch((error) => {\r\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n return error;\r\n }\r\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\r\n // false) but this is bug prone as we have no way to wait the\r\n // navigation to be finished before calling pushWithRedirect. Using\r\n // a setTimeout of 16ms seems to work but there is no guarantee for\r\n // it to work on every browser. So instead we do not restore the\r\n // history entry and trigger a new navigation as requested by the\r\n // navigation guard.\r\n // the error is already handled by router.push we just want to avoid\r\n // logging the error\r\n pushWithRedirect(error.to, toLocation\r\n // avoid an uncaught rejection, let push call triggerError\r\n )\r\n .then(failure => {\r\n // manual change in hash history #916 ending up in the URL not\r\n // changing, but it was changed by the manual url change, so we\r\n // need to manually change it ourselves\r\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\r\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\r\n !info.delta &&\r\n info.type === NavigationType.pop) {\r\n routerHistory.go(-1, false);\r\n }\r\n })\r\n .catch(noop);\r\n // avoid the then branch\r\n return Promise.reject();\r\n }\r\n // do not restore history on unknown direction\r\n if (info.delta) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n // unrecognized error, transfer to the global handler\r\n return triggerError(error, toLocation, from);\r\n })\r\n .then((failure) => {\r\n failure =\r\n failure ||\r\n finalizeNavigation(\r\n // after navigation, all matched components are resolved\r\n toLocation, from, false);\r\n // revert the navigation\r\n if (failure) {\r\n if (info.delta &&\r\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\r\n // entry while a different route is displayed\r\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n else if (info.type === NavigationType.pop &&\r\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\r\n // manual change in hash history #916\r\n // it's like a push but lacks the information of the direction\r\n routerHistory.go(-1, false);\r\n }\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n })\r\n .catch(noop);\r\n });\r\n }\r\n // Initialization and Errors\r\n let readyHandlers = useCallbacks();\r\n let errorHandlers = useCallbacks();\r\n let ready;\r\n /**\r\n * Trigger errorHandlers added via onError and throws the error as well\r\n *\r\n * @param error - error to throw\r\n * @param to - location we were navigating to when the error happened\r\n * @param from - location we were navigating from when the error happened\r\n * @returns the error as a rejected promise\r\n */\r\n function triggerError(error, to, from) {\r\n markAsReady(error);\r\n const list = errorHandlers.list();\r\n if (list.length) {\r\n list.forEach(handler => handler(error, to, from));\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('uncaught error during route navigation:');\r\n }\r\n console.error(error);\r\n }\r\n return Promise.reject(error);\r\n }\r\n function isReady() {\r\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\r\n return Promise.resolve();\r\n return new Promise((resolve, reject) => {\r\n readyHandlers.add([resolve, reject]);\r\n });\r\n }\r\n function markAsReady(err) {\r\n if (!ready) {\r\n // still not ready if an error happened\r\n ready = !err;\r\n setupListeners();\r\n readyHandlers\r\n .list()\r\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\r\n readyHandlers.reset();\r\n }\r\n return err;\r\n }\r\n // Scroll behavior\r\n function handleScroll(to, from, isPush, isFirstNavigation) {\r\n const { scrollBehavior } = options;\r\n if (!isBrowser || !scrollBehavior)\r\n return Promise.resolve();\r\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\r\n ((isFirstNavigation || !isPush) &&\r\n history.state &&\r\n history.state.scroll) ||\r\n null;\r\n return nextTick()\r\n .then(() => scrollBehavior(to, from, scrollPosition))\r\n .then(position => position && scrollToPosition(position))\r\n .catch(err => triggerError(err, to, from));\r\n }\r\n const go = (delta) => routerHistory.go(delta);\r\n let started;\r\n const installedApps = new Set();\r\n const router = {\r\n currentRoute,\r\n listening: true,\r\n addRoute,\r\n removeRoute,\r\n hasRoute,\r\n getRoutes,\r\n resolve,\r\n options,\r\n push,\r\n replace,\r\n go,\r\n back: () => go(-1),\r\n forward: () => go(1),\r\n beforeEach: beforeGuards.add,\r\n beforeResolve: beforeResolveGuards.add,\r\n afterEach: afterGuards.add,\r\n onError: errorHandlers.add,\r\n isReady,\r\n install(app) {\r\n const router = this;\r\n app.component('RouterLink', RouterLink);\r\n app.component('RouterView', RouterView);\r\n app.config.globalProperties.$router = router;\r\n Object.defineProperty(app.config.globalProperties, '$route', {\r\n enumerable: true,\r\n get: () => unref(currentRoute),\r\n });\r\n // this initial navigation is only necessary on client, on server it doesn't\r\n // make sense because it will create an extra unnecessary navigation and could\r\n // lead to problems\r\n if (isBrowser &&\r\n // used for the initial navigation client side to avoid pushing\r\n // multiple times when the router is used in multiple apps\r\n !started &&\r\n currentRoute.value === START_LOCATION_NORMALIZED) {\r\n // see above\r\n started = true;\r\n push(routerHistory.location).catch(err => {\r\n if ((process.env.NODE_ENV !== 'production'))\r\n warn('Unexpected error when starting the router:', err);\r\n });\r\n }\r\n const reactiveRoute = {};\r\n for (const key in START_LOCATION_NORMALIZED) {\r\n // @ts-expect-error: the key matches\r\n reactiveRoute[key] = computed(() => currentRoute.value[key]);\r\n }\r\n app.provide(routerKey, router);\r\n app.provide(routeLocationKey, reactive(reactiveRoute));\r\n app.provide(routerViewLocationKey, currentRoute);\r\n const unmountApp = app.unmount;\r\n installedApps.add(app);\r\n app.unmount = function () {\r\n installedApps.delete(app);\r\n // the router is not attached to an app anymore\r\n if (installedApps.size < 1) {\r\n // invalidate the current navigation\r\n pendingLocation = START_LOCATION_NORMALIZED;\r\n removeHistoryListener && removeHistoryListener();\r\n removeHistoryListener = null;\r\n currentRoute.value = START_LOCATION_NORMALIZED;\r\n started = false;\r\n ready = false;\r\n }\r\n unmountApp();\r\n };\r\n // TODO: this probably needs to be updated so it can be used by vue-termui\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n addDevtools(app, router, matcher);\r\n }\r\n },\r\n };\r\n return router;\r\n}\r\nfunction runGuardQueue(guards) {\r\n return guards.reduce((promise, guard) => promise.then(() => guard()), Promise.resolve());\r\n}\r\nfunction extractChangingRecords(to, from) {\r\n const leavingRecords = [];\r\n const updatingRecords = [];\r\n const enteringRecords = [];\r\n const len = Math.max(from.matched.length, to.matched.length);\r\n for (let i = 0; i < len; i++) {\r\n const recordFrom = from.matched[i];\r\n if (recordFrom) {\r\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\r\n updatingRecords.push(recordFrom);\r\n else\r\n leavingRecords.push(recordFrom);\r\n }\r\n const recordTo = to.matched[i];\r\n if (recordTo) {\r\n // the type doesn't matter because we are comparing per reference\r\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\r\n enteringRecords.push(recordTo);\r\n }\r\n }\r\n }\r\n return [leavingRecords, updatingRecords, enteringRecords];\r\n}\n\n/**\r\n * Returns the router instance. Equivalent to using `$router` inside\r\n * templates.\r\n */\r\nfunction useRouter() {\r\n return inject(routerKey);\r\n}\r\n/**\r\n * Returns the current route location. Equivalent to using `$route` inside\r\n * templates.\r\n */\r\nfunction useRoute() {\r\n return inject(routeLocationKey);\r\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){\"use strict\";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c(\"cut\"),t};function o(t,e){var n,o,t=(n=t,o=\"rtl\"===document.documentElement.getAttribute(\"dir\"),(t=document.createElement(\"textarea\")).style.fontSize=\"12pt\",t.style.border=\"0\",t.style.padding=\"0\",t.style.margin=\"0\",t.style.position=\"absolute\",t.style[o?\"right\":\"left\"]=\"-9999px\",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top=\"\".concat(o,\"px\"),t.setAttribute(\"readonly\",\"\"),t.value=n,t);return e.container.appendChild(t),e=r()(t),c(\"copy\"),t.remove(),e}var f=function(t){var e=1= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// runtime helper for setting properties on components\n// in a tree-shakable way\nexports.default = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","import { resolveDirective, openBlock, createElementBlock, normalizeClass, withDirectives, withKeys, createElementVNode, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, vModelDynamic } from \"vue\";\nconst allCountries = [\n [\n \"Afghanistan (\\u202B\\u0627\\u0641\\u063A\\u0627\\u0646\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"af\",\n \"93\"\n ],\n [\n \"Albania (Shqip\\xEBri)\",\n \"al\",\n \"355\"\n ],\n [\n \"Algeria (\\u202B\\u0627\\u0644\\u062C\\u0632\\u0627\\u0626\\u0631\\u202C\\u200E)\",\n \"dz\",\n \"213\"\n ],\n [\n \"American Samoa\",\n \"as\",\n \"1684\"\n ],\n [\n \"Andorra\",\n \"ad\",\n \"376\"\n ],\n [\n \"Angola\",\n \"ao\",\n \"244\"\n ],\n [\n \"Anguilla\",\n \"ai\",\n \"1264\"\n ],\n [\n \"Antigua and Barbuda\",\n \"ag\",\n \"1268\"\n ],\n [\n \"Argentina\",\n \"ar\",\n \"54\"\n ],\n [\n \"Armenia (\\u0540\\u0561\\u0575\\u0561\\u057D\\u057F\\u0561\\u0576)\",\n \"am\",\n \"374\"\n ],\n [\n \"Aruba\",\n \"aw\",\n \"297\"\n ],\n [\n \"Australia\",\n \"au\",\n \"61\"\n ],\n [\n \"Austria (\\xD6sterreich)\",\n \"at\",\n \"43\"\n ],\n [\n \"Azerbaijan (Az\\u0259rbaycan)\",\n \"az\",\n \"994\"\n ],\n [\n \"Bahamas\",\n \"bs\",\n \"1242\"\n ],\n [\n \"Bahrain (\\u202B\\u0627\\u0644\\u0628\\u062D\\u0631\\u064A\\u0646\\u202C\\u200E)\",\n \"bh\",\n \"973\"\n ],\n [\n \"Bangladesh (\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\\u09A6\\u09C7\\u09B6)\",\n \"bd\",\n \"880\"\n ],\n [\n \"Barbados\",\n \"bb\",\n \"1246\"\n ],\n [\n \"Belarus (\\u0411\\u0435\\u043B\\u0430\\u0440\\u0443\\u0441\\u044C)\",\n \"by\",\n \"375\"\n ],\n [\n \"Belgium (Belgi\\xEB)\",\n \"be\",\n \"32\"\n ],\n [\n \"Belize\",\n \"bz\",\n \"501\"\n ],\n [\n \"Benin (B\\xE9nin)\",\n \"bj\",\n \"229\"\n ],\n [\n \"Bermuda\",\n \"bm\",\n \"1441\"\n ],\n [\n \"Bhutan (\\u0F60\\u0F56\\u0FB2\\u0F74\\u0F42)\",\n \"bt\",\n \"975\"\n ],\n [\n \"Bolivia\",\n \"bo\",\n \"591\"\n ],\n [\n \"Bosnia and Herzegovina (\\u0411\\u043E\\u0441\\u043D\\u0430 \\u0438 \\u0425\\u0435\\u0440\\u0446\\u0435\\u0433\\u043E\\u0432\\u0438\\u043D\\u0430)\",\n \"ba\",\n \"387\"\n ],\n [\n \"Botswana\",\n \"bw\",\n \"267\"\n ],\n [\n \"Brazil (Brasil)\",\n \"br\",\n \"55\"\n ],\n [\n \"British Indian Ocean Territory\",\n \"io\",\n \"246\"\n ],\n [\n \"British Virgin Islands\",\n \"vg\",\n \"1284\"\n ],\n [\n \"Brunei\",\n \"bn\",\n \"673\"\n ],\n [\n \"Bulgaria (\\u0411\\u044A\\u043B\\u0433\\u0430\\u0440\\u0438\\u044F)\",\n \"bg\",\n \"359\"\n ],\n [\n \"Burkina Faso\",\n \"bf\",\n \"226\"\n ],\n [\n \"Burundi (Uburundi)\",\n \"bi\",\n \"257\"\n ],\n [\n \"Cambodia (\\u1780\\u1798\\u17D2\\u1796\\u17BB\\u1787\\u17B6)\",\n \"kh\",\n \"855\"\n ],\n [\n \"Cameroon (Cameroun)\",\n \"cm\",\n \"237\"\n ],\n [\n \"Canada\",\n \"ca\",\n \"1\"\n ],\n [\n \"Cape Verde (Kabu Verdi)\",\n \"cv\",\n \"238\"\n ],\n [\n \"Caribbean Netherlands\",\n \"bq\",\n \"599\"\n ],\n [\n \"Cayman Islands\",\n \"ky\",\n \"1345\"\n ],\n [\n \"Central African Republic (R\\xE9publique centrafricaine)\",\n \"cf\",\n \"236\"\n ],\n [\n \"Chad (Tchad)\",\n \"td\",\n \"235\"\n ],\n [\n \"Chile\",\n \"cl\",\n \"56\"\n ],\n [\n \"China (\\u4E2D\\u56FD)\",\n \"cn\",\n \"86\"\n ],\n [\n \"Christmas Island\",\n \"cx\",\n \"61\"\n ],\n [\n \"Cocos (Keeling) Islands\",\n \"cc\",\n \"61\"\n ],\n [\n \"Colombia\",\n \"co\",\n \"57\"\n ],\n [\n \"Comoros (\\u202B\\u062C\\u0632\\u0631 \\u0627\\u0644\\u0642\\u0645\\u0631\\u202C\\u200E)\",\n \"km\",\n \"269\"\n ],\n [\n \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\",\n \"cd\",\n \"243\"\n ],\n [\n \"Congo (Republic) (Congo-Brazzaville)\",\n \"cg\",\n \"242\"\n ],\n [\n \"Cook Islands\",\n \"ck\",\n \"682\"\n ],\n [\n \"Costa Rica\",\n \"cr\",\n \"506\"\n ],\n [\n \"C\\xF4te d\\u2019Ivoire\",\n \"ci\",\n \"225\"\n ],\n [\n \"Croatia (Hrvatska)\",\n \"hr\",\n \"385\"\n ],\n [\n \"Cuba\",\n \"cu\",\n \"53\"\n ],\n [\n \"Cura\\xE7ao\",\n \"cw\",\n \"599\"\n ],\n [\n \"Cyprus (\\u039A\\u03CD\\u03C0\\u03C1\\u03BF\\u03C2)\",\n \"cy\",\n \"357\"\n ],\n [\n \"Czech Republic (\\u010Cesk\\xE1 republika)\",\n \"cz\",\n \"420\"\n ],\n [\n \"Denmark (Danmark)\",\n \"dk\",\n \"45\"\n ],\n [\n \"Djibouti\",\n \"dj\",\n \"253\"\n ],\n [\n \"Dominica\",\n \"dm\",\n \"1767\"\n ],\n [\n \"Dominican Republic (Rep\\xFAblica Dominicana)\",\n \"do\",\n \"1\"\n ],\n [\n \"Ecuador\",\n \"ec\",\n \"593\"\n ],\n [\n \"Egypt (\\u202B\\u0645\\u0635\\u0631\\u202C\\u200E)\",\n \"eg\",\n \"20\"\n ],\n [\n \"El Salvador\",\n \"sv\",\n \"503\"\n ],\n [\n \"Equatorial Guinea (Guinea Ecuatorial)\",\n \"gq\",\n \"240\"\n ],\n [\n \"Eritrea\",\n \"er\",\n \"291\"\n ],\n [\n \"Estonia (Eesti)\",\n \"ee\",\n \"372\"\n ],\n [\n \"Ethiopia\",\n \"et\",\n \"251\"\n ],\n [\n \"Falkland Islands (Islas Malvinas)\",\n \"fk\",\n \"500\"\n ],\n [\n \"Faroe Islands (F\\xF8royar)\",\n \"fo\",\n \"298\"\n ],\n [\n \"Fiji\",\n \"fj\",\n \"679\"\n ],\n [\n \"Finland (Suomi)\",\n \"fi\",\n \"358\"\n ],\n [\n \"France\",\n \"fr\",\n \"33\"\n ],\n [\n \"French Guiana (Guyane fran\\xE7aise)\",\n \"gf\",\n \"594\"\n ],\n [\n \"French Polynesia (Polyn\\xE9sie fran\\xE7aise)\",\n \"pf\",\n \"689\"\n ],\n [\n \"Gabon\",\n \"ga\",\n \"241\"\n ],\n [\n \"Gambia\",\n \"gm\",\n \"220\"\n ],\n [\n \"Georgia (\\u10E1\\u10D0\\u10E5\\u10D0\\u10E0\\u10D7\\u10D5\\u10D4\\u10DA\\u10DD)\",\n \"ge\",\n \"995\"\n ],\n [\n \"Germany (Deutschland)\",\n \"de\",\n \"49\"\n ],\n [\n \"Ghana (Gaana)\",\n \"gh\",\n \"233\"\n ],\n [\n \"Gibraltar\",\n \"gi\",\n \"350\"\n ],\n [\n \"Greece (\\u0395\\u03BB\\u03BB\\u03AC\\u03B4\\u03B1)\",\n \"gr\",\n \"30\"\n ],\n [\n \"Greenland (Kalaallit Nunaat)\",\n \"gl\",\n \"299\"\n ],\n [\n \"Grenada\",\n \"gd\",\n \"1473\"\n ],\n [\n \"Guadeloupe\",\n \"gp\",\n \"590\"\n ],\n [\n \"Guam\",\n \"gu\",\n \"1671\"\n ],\n [\n \"Guatemala\",\n \"gt\",\n \"502\"\n ],\n [\n \"Guernsey\",\n \"gg\",\n \"44\",\n 1\n ],\n [\n \"Guinea (Guin\\xE9e)\",\n \"gn\",\n \"224\"\n ],\n [\n \"Guinea-Bissau (Guin\\xE9 Bissau)\",\n \"gw\",\n \"245\"\n ],\n [\n \"Guyana\",\n \"gy\",\n \"592\"\n ],\n [\n \"Haiti\",\n \"ht\",\n \"509\"\n ],\n [\n \"Honduras\",\n \"hn\",\n \"504\"\n ],\n [\n \"Hong Kong (\\u9999\\u6E2F)\",\n \"hk\",\n \"852\"\n ],\n [\n \"Hungary (Magyarorsz\\xE1g)\",\n \"hu\",\n \"36\"\n ],\n [\n \"Iceland (\\xCDsland)\",\n \"is\",\n \"354\"\n ],\n [\n \"India (\\u092D\\u093E\\u0930\\u0924)\",\n \"in\",\n \"91\"\n ],\n [\n \"Indonesia\",\n \"id\",\n \"62\"\n ],\n [\n \"Iran (\\u202B\\u0627\\u06CC\\u0631\\u0627\\u0646\\u202C\\u200E)\",\n \"ir\",\n \"98\"\n ],\n [\n \"Iraq (\\u202B\\u0627\\u0644\\u0639\\u0631\\u0627\\u0642\\u202C\\u200E)\",\n \"iq\",\n \"964\"\n ],\n [\n \"Ireland\",\n \"ie\",\n \"353\"\n ],\n [\n \"Isle of Man\",\n \"im\",\n \"44\"\n ],\n [\n \"Israel (\\u202B\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\\u202C\\u200E)\",\n \"il\",\n \"972\"\n ],\n [\n \"Italy (Italia)\",\n \"it\",\n \"39\"\n ],\n [\n \"Jamaica\",\n \"jm\",\n \"1876\"\n ],\n [\n \"Japan (\\u65E5\\u672C)\",\n \"jp\",\n \"81\"\n ],\n [\n \"Jersey\",\n \"je\",\n \"44\"\n ],\n [\n \"Jordan (\\u202B\\u0627\\u0644\\u0623\\u0631\\u062F\\u0646\\u202C\\u200E)\",\n \"jo\",\n \"962\"\n ],\n [\n \"Kazakhstan (\\u041A\\u0430\\u0437\\u0430\\u0445\\u0441\\u0442\\u0430\\u043D)\",\n \"kz\",\n \"7\"\n ],\n [\n \"Kenya\",\n \"ke\",\n \"254\"\n ],\n [\n \"Kiribati\",\n \"ki\",\n \"686\"\n ],\n [\n \"Kosovo\",\n \"xk\",\n \"383\"\n ],\n [\n \"Kuwait (\\u202B\\u0627\\u0644\\u0643\\u0648\\u064A\\u062A\\u202C\\u200E)\",\n \"kw\",\n \"965\"\n ],\n [\n \"Kyrgyzstan (\\u041A\\u044B\\u0440\\u0433\\u044B\\u0437\\u0441\\u0442\\u0430\\u043D)\",\n \"kg\",\n \"996\"\n ],\n [\n \"Laos (\\u0EA5\\u0EB2\\u0EA7)\",\n \"la\",\n \"856\"\n ],\n [\n \"Latvia (Latvija)\",\n \"lv\",\n \"371\"\n ],\n [\n \"Lebanon (\\u202B\\u0644\\u0628\\u0646\\u0627\\u0646\\u202C\\u200E)\",\n \"lb\",\n \"961\"\n ],\n [\n \"Lesotho\",\n \"ls\",\n \"266\"\n ],\n [\n \"Liberia\",\n \"lr\",\n \"231\"\n ],\n [\n \"Libya (\\u202B\\u0644\\u064A\\u0628\\u064A\\u0627\\u202C\\u200E)\",\n \"ly\",\n \"218\"\n ],\n [\n \"Liechtenstein\",\n \"li\",\n \"423\"\n ],\n [\n \"Lithuania (Lietuva)\",\n \"lt\",\n \"370\"\n ],\n [\n \"Luxembourg\",\n \"lu\",\n \"352\"\n ],\n [\n \"Macau (\\u6FB3\\u9580)\",\n \"mo\",\n \"853\"\n ],\n [\n \"Macedonia (FYROM) (\\u041C\\u0430\\u043A\\u0435\\u0434\\u043E\\u043D\\u0438\\u0458\\u0430)\",\n \"mk\",\n \"389\"\n ],\n [\n \"Madagascar (Madagasikara)\",\n \"mg\",\n \"261\"\n ],\n [\n \"Malawi\",\n \"mw\",\n \"265\"\n ],\n [\n \"Malaysia\",\n \"my\",\n \"60\"\n ],\n [\n \"Maldives\",\n \"mv\",\n \"960\"\n ],\n [\n \"Mali\",\n \"ml\",\n \"223\"\n ],\n [\n \"Malta\",\n \"mt\",\n \"356\"\n ],\n [\n \"Marshall Islands\",\n \"mh\",\n \"692\"\n ],\n [\n \"Martinique\",\n \"mq\",\n \"596\"\n ],\n [\n \"Mauritania (\\u202B\\u0645\\u0648\\u0631\\u064A\\u062A\\u0627\\u0646\\u064A\\u0627\\u202C\\u200E)\",\n \"mr\",\n \"222\"\n ],\n [\n \"Mauritius (Moris)\",\n \"mu\",\n \"230\"\n ],\n [\n \"Mayotte\",\n \"yt\",\n \"262\"\n ],\n [\n \"Mexico (M\\xE9xico)\",\n \"mx\",\n \"52\"\n ],\n [\n \"Micronesia\",\n \"fm\",\n \"691\"\n ],\n [\n \"Moldova (Republica Moldova)\",\n \"md\",\n \"373\"\n ],\n [\n \"Monaco\",\n \"mc\",\n \"377\"\n ],\n [\n \"Mongolia (\\u041C\\u043E\\u043D\\u0433\\u043E\\u043B)\",\n \"mn\",\n \"976\"\n ],\n [\n \"Montenegro (Crna Gora)\",\n \"me\",\n \"382\"\n ],\n [\n \"Montserrat\",\n \"ms\",\n \"1664\"\n ],\n [\n \"Morocco (\\u202B\\u0627\\u0644\\u0645\\u063A\\u0631\\u0628\\u202C\\u200E)\",\n \"ma\",\n \"212\"\n ],\n [\n \"Mozambique (Mo\\xE7ambique)\",\n \"mz\",\n \"258\"\n ],\n [\n \"Myanmar (Burma) (\\u1019\\u103C\\u1014\\u103A\\u1019\\u102C)\",\n \"mm\",\n \"95\"\n ],\n [\n \"Namibia (Namibi\\xEB)\",\n \"na\",\n \"264\"\n ],\n [\n \"Nauru\",\n \"nr\",\n \"674\"\n ],\n [\n \"Nepal (\\u0928\\u0947\\u092A\\u093E\\u0932)\",\n \"np\",\n \"977\"\n ],\n [\n \"Netherlands (Nederland)\",\n \"nl\",\n \"31\"\n ],\n [\n \"New Caledonia (Nouvelle-Cal\\xE9donie)\",\n \"nc\",\n \"687\"\n ],\n [\n \"New Zealand\",\n \"nz\",\n \"64\"\n ],\n [\n \"Nicaragua\",\n \"ni\",\n \"505\"\n ],\n [\n \"Niger (Nijar)\",\n \"ne\",\n \"227\"\n ],\n [\n \"Nigeria\",\n \"ng\",\n \"234\"\n ],\n [\n \"Niue\",\n \"nu\",\n \"683\"\n ],\n [\n \"Norfolk Island\",\n \"nf\",\n \"672\"\n ],\n [\n \"North Korea (\\uC870\\uC120 \\uBBFC\\uC8FC\\uC8FC\\uC758 \\uC778\\uBBFC \\uACF5\\uD654\\uAD6D)\",\n \"kp\",\n \"850\"\n ],\n [\n \"Northern Mariana Islands\",\n \"mp\",\n \"1670\"\n ],\n [\n \"Norway (Norge)\",\n \"no\",\n \"47\"\n ],\n [\n \"Oman (\\u202B\\u0639\\u064F\\u0645\\u0627\\u0646\\u202C\\u200E)\",\n \"om\",\n \"968\"\n ],\n [\n \"Pakistan (\\u202B\\u067E\\u0627\\u06A9\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"pk\",\n \"92\"\n ],\n [\n \"Palau\",\n \"pw\",\n \"680\"\n ],\n [\n \"Palestine (\\u202B\\u0641\\u0644\\u0633\\u0637\\u064A\\u0646\\u202C\\u200E)\",\n \"ps\",\n \"970\"\n ],\n [\n \"Panama (Panam\\xE1)\",\n \"pa\",\n \"507\"\n ],\n [\n \"Papua New Guinea\",\n \"pg\",\n \"675\"\n ],\n [\n \"Paraguay\",\n \"py\",\n \"595\"\n ],\n [\n \"Peru (Per\\xFA)\",\n \"pe\",\n \"51\"\n ],\n [\n \"Philippines\",\n \"ph\",\n \"63\"\n ],\n [\n \"Poland (Polska)\",\n \"pl\",\n \"48\"\n ],\n [\n \"Portugal\",\n \"pt\",\n \"351\"\n ],\n [\n \"Puerto Rico\",\n \"pr\",\n \"1\"\n ],\n [\n \"Qatar (\\u202B\\u0642\\u0637\\u0631\\u202C\\u200E)\",\n \"qa\",\n \"974\"\n ],\n [\n \"R\\xE9union (La R\\xE9union)\",\n \"re\",\n \"262\"\n ],\n [\n \"Romania (Rom\\xE2nia)\",\n \"ro\",\n \"40\"\n ],\n [\n \"Russia (\\u0420\\u043E\\u0441\\u0441\\u0438\\u044F)\",\n \"ru\",\n \"7\"\n ],\n [\n \"Rwanda\",\n \"rw\",\n \"250\"\n ],\n [\n \"Saint Barth\\xE9lemy\",\n \"bl\",\n \"590\"\n ],\n [\n \"Saint Helena\",\n \"sh\",\n \"290\"\n ],\n [\n \"Saint Kitts and Nevis\",\n \"kn\",\n \"1869\"\n ],\n [\n \"Saint Lucia\",\n \"lc\",\n \"1758\"\n ],\n [\n \"Saint Martin (Saint-Martin (partie fran\\xE7aise))\",\n \"mf\",\n \"590\"\n ],\n [\n \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\",\n \"pm\",\n \"508\"\n ],\n [\n \"Saint Vincent and the Grenadines\",\n \"vc\",\n \"1784\"\n ],\n [\n \"Samoa\",\n \"ws\",\n \"685\"\n ],\n [\n \"San Marino\",\n \"sm\",\n \"378\"\n ],\n [\n \"S\\xE3o Tom\\xE9 and Pr\\xEDncipe (S\\xE3o Tom\\xE9 e Pr\\xEDncipe)\",\n \"st\",\n \"239\"\n ],\n [\n \"Saudi Arabia (\\u202B\\u0627\\u0644\\u0645\\u0645\\u0644\\u0643\\u0629 \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u064A\\u0629\\u202C\\u200E)\",\n \"sa\",\n \"966\"\n ],\n [\n \"Senegal (S\\xE9n\\xE9gal)\",\n \"sn\",\n \"221\"\n ],\n [\n \"Serbia (\\u0421\\u0440\\u0431\\u0438\\u0458\\u0430)\",\n \"rs\",\n \"381\"\n ],\n [\n \"Seychelles\",\n \"sc\",\n \"248\"\n ],\n [\n \"Sierra Leone\",\n \"sl\",\n \"232\"\n ],\n [\n \"Singapore\",\n \"sg\",\n \"65\"\n ],\n [\n \"Sint Maarten\",\n \"sx\",\n \"1721\"\n ],\n [\n \"Slovakia (Slovensko)\",\n \"sk\",\n \"421\"\n ],\n [\n \"Slovenia (Slovenija)\",\n \"si\",\n \"386\"\n ],\n [\n \"Solomon Islands\",\n \"sb\",\n \"677\"\n ],\n [\n \"Somalia (Soomaaliya)\",\n \"so\",\n \"252\"\n ],\n [\n \"South Africa\",\n \"za\",\n \"27\"\n ],\n [\n \"South Korea (\\uB300\\uD55C\\uBBFC\\uAD6D)\",\n \"kr\",\n \"82\"\n ],\n [\n \"South Sudan (\\u202B\\u062C\\u0646\\u0648\\u0628 \\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"ss\",\n \"211\"\n ],\n [\n \"Spain (Espa\\xF1a)\",\n \"es\",\n \"34\"\n ],\n [\n \"Sri Lanka (\\u0DC1\\u0DCA\\u200D\\u0DBB\\u0DD3 \\u0DBD\\u0D82\\u0D9A\\u0DCF\\u0DC0)\",\n \"lk\",\n \"94\"\n ],\n [\n \"Sudan (\\u202B\\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"sd\",\n \"249\"\n ],\n [\n \"Suriname\",\n \"sr\",\n \"597\"\n ],\n [\n \"Svalbard and Jan Mayen\",\n \"sj\",\n \"47\"\n ],\n [\n \"Swaziland\",\n \"sz\",\n \"268\"\n ],\n [\n \"Sweden (Sverige)\",\n \"se\",\n \"46\"\n ],\n [\n \"Switzerland (Schweiz)\",\n \"ch\",\n \"41\"\n ],\n [\n \"Syria (\\u202B\\u0633\\u0648\\u0631\\u064A\\u0627\\u202C\\u200E)\",\n \"sy\",\n \"963\"\n ],\n [\n \"Taiwan (\\u53F0\\u7063)\",\n \"tw\",\n \"886\"\n ],\n [\n \"Tajikistan\",\n \"tj\",\n \"992\"\n ],\n [\n \"Tanzania\",\n \"tz\",\n \"255\"\n ],\n [\n \"Thailand (\\u0E44\\u0E17\\u0E22)\",\n \"th\",\n \"66\"\n ],\n [\n \"Timor-Leste\",\n \"tl\",\n \"670\"\n ],\n [\n \"Togo\",\n \"tg\",\n \"228\"\n ],\n [\n \"Tokelau\",\n \"tk\",\n \"690\"\n ],\n [\n \"Tonga\",\n \"to\",\n \"676\"\n ],\n [\n \"Trinidad and Tobago\",\n \"tt\",\n \"1868\"\n ],\n [\n \"Tunisia (\\u202B\\u062A\\u0648\\u0646\\u0633\\u202C\\u200E)\",\n \"tn\",\n \"216\"\n ],\n [\n \"Turkey (T\\xFCrkiye)\",\n \"tr\",\n \"90\"\n ],\n [\n \"Turkmenistan\",\n \"tm\",\n \"993\"\n ],\n [\n \"Turks and Caicos Islands\",\n \"tc\",\n \"1649\"\n ],\n [\n \"Tuvalu\",\n \"tv\",\n \"688\"\n ],\n [\n \"U.S. Virgin Islands\",\n \"vi\",\n \"1340\"\n ],\n [\n \"Uganda\",\n \"ug\",\n \"256\"\n ],\n [\n \"Ukraine (\\u0423\\u043A\\u0440\\u0430\\u0457\\u043D\\u0430)\",\n \"ua\",\n \"380\"\n ],\n [\n \"United Arab Emirates (\\u202B\\u0627\\u0644\\u0625\\u0645\\u0627\\u0631\\u0627\\u062A \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0645\\u062A\\u062D\\u062F\\u0629\\u202C\\u200E)\",\n \"ae\",\n \"971\"\n ],\n [\n \"United Kingdom\",\n \"gb\",\n \"44\"\n ],\n [\n \"United States\",\n \"us\",\n \"1\"\n ],\n [\n \"Uruguay\",\n \"uy\",\n \"598\"\n ],\n [\n \"Uzbekistan (O\\u02BBzbekiston)\",\n \"uz\",\n \"998\"\n ],\n [\n \"Vanuatu\",\n \"vu\",\n \"678\"\n ],\n [\n \"Vatican City (Citt\\xE0 del Vaticano)\",\n \"va\",\n \"39\"\n ],\n [\n \"Venezuela\",\n \"ve\",\n \"58\"\n ],\n [\n \"Vietnam (Vi\\u1EC7t Nam)\",\n \"vn\",\n \"84\"\n ],\n [\n \"Wallis and Futuna (Wallis-et-Futuna)\",\n \"wf\",\n \"681\"\n ],\n [\n \"Western Sahara (\\u202B\\u0627\\u0644\\u0635\\u062D\\u0631\\u0627\\u0621 \\u0627\\u0644\\u063A\\u0631\\u0628\\u064A\\u0629\\u202C\\u200E)\",\n \"eh\",\n \"212\"\n ],\n [\n \"Yemen (\\u202B\\u0627\\u0644\\u064A\\u0645\\u0646\\u202C\\u200E)\",\n \"ye\",\n \"967\"\n ],\n [\n \"Zambia\",\n \"zm\",\n \"260\"\n ],\n [\n \"Zimbabwe\",\n \"zw\",\n \"263\"\n ],\n [\n \"\\xC5land Islands\",\n \"ax\",\n \"358\"\n ]\n];\nvar allCountries$1 = allCountries.map(([name, iso2, dialCode]) => ({\n name,\n iso2: iso2.toUpperCase(),\n dialCode\n}));\nfunction getCountry() {\n return fetch(\"https://ip2c.org/s\").then((response) => response.text()).then((response) => {\n const result2 = (response || \"\").toString();\n if (!result2 || result2[0] !== \"1\") {\n throw new Error(\"unable to fetch the country\");\n }\n return result2.substr(2, 2);\n });\n}\nfunction setCaretPosition(ctrl, pos) {\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n } else if (ctrl.createTextRange) {\n const range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd(\"character\", pos);\n range.moveStart(\"character\", pos);\n range.select();\n }\n}\nconst allProps = [\n {\n name: \"allCountries\",\n type: Array,\n default: allCountries$1,\n description: \"All countries that are used in libphonenumber-js, can be overridden by this prop\",\n inDemo: false\n },\n {\n name: \"autoFormat\",\n type: Boolean,\n default: true,\n description: \"Auto update the input to the formatted phone number when it's valid\",\n inDemo: true\n },\n {\n name: \"customValidate\",\n type: [Boolean, RegExp],\n default: false,\n description: \"Custom validation RegExp for input\",\n inDemo: false\n },\n {\n name: \"defaultCountry\",\n default: \"\",\n type: [String, Number],\n description: \"Default country (by iso2 or dialCode), will override the country fetched from IP address of user\",\n inDemo: false\n },\n {\n name: \"disabled\",\n default: false,\n type: Boolean,\n description: \"Disable vue-tel-input, including the input & flag dropdown\",\n inDemo: false\n },\n {\n name: \"autoDefaultCountry\",\n default: true,\n type: Boolean,\n description: \"To fetch default country based on IP address of user\",\n inDemo: false\n },\n {\n name: \"dropdownOptions\",\n type: Object,\n description: \"Options for dropdown, see below\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.disabled\",\n default: false,\n type: Boolean,\n description: \"Disable dropdown\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.showDialCodeInList\",\n default: true,\n type: Boolean,\n description: \"Show dial code in the dropdown list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showDialCodeInSelection\",\n default: false,\n type: Boolean,\n description: \"Show dial code in the dropdown selection\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showFlags\",\n default: true,\n type: Boolean,\n description: \"Show flags in the dropdown selection and list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native dropdown tabindex attribute\",\n inDemo: false\n },\n {\n name: \"ignoredCountries\",\n default: [],\n type: Array,\n description: \"List of countries will NOT be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"inputOptions\",\n type: Object,\n description: \"Options for input, see below\",\n inDemo: false\n },\n {\n name: \"inputOptions.autocomplete\",\n type: String,\n default: \"on\",\n description: \"Native input autocomplete attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.autofocus\",\n type: Boolean,\n default: false,\n description: \"Native input autofocus attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.aria-describedby\",\n default: \"\",\n type: String,\n description: \"Native input aria-describedby attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.id\",\n default: \"\",\n type: String,\n description: \"Native input id attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.maxlength\",\n default: 25,\n type: Number,\n description: \"Native input maxlength attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.name\",\n default: \"telephone\",\n type: String,\n description: \"Native input name attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.showDialCode\",\n default: false,\n type: Boolean,\n description: \"Show dial code in input\",\n inDemo: false\n },\n {\n name: \"inputOptions.placeholder\",\n default: \"Enter a phone number\",\n type: String,\n description: \"Placeholder for the input\",\n inDemo: false\n },\n {\n name: \"inputOptions.readonly\",\n default: false,\n type: Boolean,\n description: \"Native input readonly attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.required\",\n default: false,\n type: Boolean,\n description: \"Native input required attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native input tabindex attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.type\",\n default: \"tel\",\n type: String,\n description: \"Native input type attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the input\",\n inDemo: false\n },\n {\n name: \"invalidMsg\",\n default: \"\",\n type: String,\n description: \"\",\n inDemo: false\n },\n {\n name: \"mode\",\n default: \"auto\",\n type: String,\n description: \"Allowed values: 'auto' (Default set by phone), 'international' (Format number with the dial code i.e. + 61), 'national' (Format number without dial code i.e. 0321232)\",\n inDemo: true,\n options: [\"auto\", \"national\", \"international\"]\n },\n {\n name: \"onlyCountries\",\n default: [],\n type: Array,\n description: \"List of countries will be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"preferredCountries\",\n default: [],\n type: Array,\n description: \"Preferred countries list, will be on top of the dropdown\",\n inDemo: false\n },\n {\n name: \"styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the wrapper\",\n inDemo: false\n },\n {\n name: \"validCharactersOnly\",\n default: false,\n type: Boolean,\n description: \"Only allow valid characters in a phone number (will also verify in mounted, so phone number with invalid characters will be shown as an empty string)\",\n inDemo: false\n }\n];\nconst defaultOptions = [...allProps].reduce((prv, crr) => {\n if (crr.name.includes(\".\")) {\n const [key, nestedKey] = crr.name.split(\".\");\n if (prv[key]) {\n Object.assign(prv[key], { [nestedKey]: crr.default });\n } else {\n Object.assign(prv, { [key]: { [nestedKey]: crr.default } });\n }\n } else {\n Object.assign(prv, { [crr.name]: crr.default });\n }\n return prv;\n}, {});\nvar utils = {\n options: { ...defaultOptions }\n};\nvar metadata = { \"version\": 4, \"country_calling_codes\": { \"1\": [\"US\", \"AG\", \"AI\", \"AS\", \"BB\", \"BM\", \"BS\", \"CA\", \"DM\", \"DO\", \"GD\", \"GU\", \"JM\", \"KN\", \"KY\", \"LC\", \"MP\", \"MS\", \"PR\", \"SX\", \"TC\", \"TT\", \"VC\", \"VG\", \"VI\"], \"7\": [\"RU\", \"KZ\"], \"20\": [\"EG\"], \"27\": [\"ZA\"], \"30\": [\"GR\"], \"31\": [\"NL\"], \"32\": [\"BE\"], \"33\": [\"FR\"], \"34\": [\"ES\"], \"36\": [\"HU\"], \"39\": [\"IT\", \"VA\"], \"40\": [\"RO\"], \"41\": [\"CH\"], \"43\": [\"AT\"], \"44\": [\"GB\", \"GG\", \"IM\", \"JE\"], \"45\": [\"DK\"], \"46\": [\"SE\"], \"47\": [\"NO\", \"SJ\"], \"48\": [\"PL\"], \"49\": [\"DE\"], \"51\": [\"PE\"], \"52\": [\"MX\"], \"53\": [\"CU\"], \"54\": [\"AR\"], \"55\": [\"BR\"], \"56\": [\"CL\"], \"57\": [\"CO\"], \"58\": [\"VE\"], \"60\": [\"MY\"], \"61\": [\"AU\", \"CC\", \"CX\"], \"62\": [\"ID\"], \"63\": [\"PH\"], \"64\": [\"NZ\"], \"65\": [\"SG\"], \"66\": [\"TH\"], \"81\": [\"JP\"], \"82\": [\"KR\"], \"84\": [\"VN\"], \"86\": [\"CN\"], \"90\": [\"TR\"], \"91\": [\"IN\"], \"92\": [\"PK\"], \"93\": [\"AF\"], \"94\": [\"LK\"], \"95\": [\"MM\"], \"98\": [\"IR\"], \"211\": [\"SS\"], \"212\": [\"MA\", \"EH\"], \"213\": [\"DZ\"], \"216\": [\"TN\"], \"218\": [\"LY\"], \"220\": [\"GM\"], \"221\": [\"SN\"], \"222\": [\"MR\"], \"223\": [\"ML\"], \"224\": [\"GN\"], \"225\": [\"CI\"], \"226\": [\"BF\"], \"227\": [\"NE\"], \"228\": [\"TG\"], \"229\": [\"BJ\"], \"230\": [\"MU\"], \"231\": [\"LR\"], \"232\": [\"SL\"], \"233\": [\"GH\"], \"234\": [\"NG\"], \"235\": [\"TD\"], \"236\": [\"CF\"], \"237\": [\"CM\"], \"238\": [\"CV\"], \"239\": [\"ST\"], \"240\": [\"GQ\"], \"241\": [\"GA\"], \"242\": [\"CG\"], \"243\": [\"CD\"], \"244\": [\"AO\"], \"245\": [\"GW\"], \"246\": [\"IO\"], \"247\": [\"AC\"], \"248\": [\"SC\"], \"249\": [\"SD\"], \"250\": [\"RW\"], \"251\": [\"ET\"], \"252\": [\"SO\"], \"253\": [\"DJ\"], \"254\": [\"KE\"], \"255\": [\"TZ\"], \"256\": [\"UG\"], \"257\": [\"BI\"], \"258\": [\"MZ\"], \"260\": [\"ZM\"], \"261\": [\"MG\"], \"262\": [\"RE\", \"YT\"], \"263\": [\"ZW\"], \"264\": [\"NA\"], \"265\": [\"MW\"], \"266\": [\"LS\"], \"267\": [\"BW\"], \"268\": [\"SZ\"], \"269\": [\"KM\"], \"290\": [\"SH\", \"TA\"], \"291\": [\"ER\"], \"297\": [\"AW\"], \"298\": [\"FO\"], \"299\": [\"GL\"], \"350\": [\"GI\"], \"351\": [\"PT\"], \"352\": [\"LU\"], \"353\": [\"IE\"], \"354\": [\"IS\"], \"355\": [\"AL\"], \"356\": [\"MT\"], \"357\": [\"CY\"], \"358\": [\"FI\", \"AX\"], \"359\": [\"BG\"], \"370\": [\"LT\"], \"371\": [\"LV\"], \"372\": [\"EE\"], \"373\": [\"MD\"], \"374\": [\"AM\"], \"375\": [\"BY\"], \"376\": [\"AD\"], \"377\": [\"MC\"], \"378\": [\"SM\"], \"380\": [\"UA\"], \"381\": [\"RS\"], \"382\": [\"ME\"], \"383\": [\"XK\"], \"385\": [\"HR\"], \"386\": [\"SI\"], \"387\": [\"BA\"], \"389\": [\"MK\"], \"420\": [\"CZ\"], \"421\": [\"SK\"], \"423\": [\"LI\"], \"500\": [\"FK\"], \"501\": [\"BZ\"], \"502\": [\"GT\"], \"503\": [\"SV\"], \"504\": [\"HN\"], \"505\": [\"NI\"], \"506\": [\"CR\"], \"507\": [\"PA\"], \"508\": [\"PM\"], \"509\": [\"HT\"], \"590\": [\"GP\", \"BL\", \"MF\"], \"591\": [\"BO\"], \"592\": [\"GY\"], \"593\": [\"EC\"], \"594\": [\"GF\"], \"595\": [\"PY\"], \"596\": [\"MQ\"], \"597\": [\"SR\"], \"598\": [\"UY\"], \"599\": [\"CW\", \"BQ\"], \"670\": [\"TL\"], \"672\": [\"NF\"], \"673\": [\"BN\"], \"674\": [\"NR\"], \"675\": [\"PG\"], \"676\": [\"TO\"], \"677\": [\"SB\"], \"678\": [\"VU\"], \"679\": [\"FJ\"], \"680\": [\"PW\"], \"681\": [\"WF\"], \"682\": [\"CK\"], \"683\": [\"NU\"], \"685\": [\"WS\"], \"686\": [\"KI\"], \"687\": [\"NC\"], \"688\": [\"TV\"], \"689\": [\"PF\"], \"690\": [\"TK\"], \"691\": [\"FM\"], \"692\": [\"MH\"], \"850\": [\"KP\"], \"852\": [\"HK\"], \"853\": [\"MO\"], \"855\": [\"KH\"], \"856\": [\"LA\"], \"880\": [\"BD\"], \"886\": [\"TW\"], \"960\": [\"MV\"], \"961\": [\"LB\"], \"962\": [\"JO\"], \"963\": [\"SY\"], \"964\": [\"IQ\"], \"965\": [\"KW\"], \"966\": [\"SA\"], \"967\": [\"YE\"], \"968\": [\"OM\"], \"970\": [\"PS\"], \"971\": [\"AE\"], \"972\": [\"IL\"], \"973\": [\"BH\"], \"974\": [\"QA\"], \"975\": [\"BT\"], \"976\": [\"MN\"], \"977\": [\"NP\"], \"992\": [\"TJ\"], \"993\": [\"TM\"], \"994\": [\"AZ\"], \"995\": [\"GE\"], \"996\": [\"KG\"], \"998\": [\"UZ\"] }, \"countries\": { \"AC\": [\"247\", \"00\", \"(?:[01589]\\\\d|[46])\\\\d{4}\", [5, 6]], \"AD\": [\"376\", \"00\", \"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\", [6, 8, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"[135-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]]], \"AE\": [\"971\", \"00\", \"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{2,9})\", \"$1 $2\", [\"60|8\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[236]|[479][2-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{5})\", \"$1 $2 $3\", [\"[479]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AF\": [\"93\", \"00\", \"[2-7]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"]], \"0\"], \"AG\": [\"1\", \"011\", \"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([457]\\\\d{6})$\", \"268$1\", 0, \"268\"], \"AI\": [\"1\", \"011\", \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2457]\\\\d{6})$\", \"264$1\", 0, \"264\"], \"AL\": [\"355\", \"00\", \"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\", [6, 7, 8, 9], [[\"(\\\\d{3})(\\\\d{3,4})\", \"$1 $2\", [\"80|9\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2358][2-5]|4\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[23578]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"]], \"0\"], \"AM\": [\"374\", \"00\", \"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]0\"], \"0 $1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2|3[12]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"1|47\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[3-9]\"], \"0$1\"]], \"0\"], \"AO\": [\"244\", \"00\", \"[29]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[29]\"]]]], \"AR\": [\"54\", \"00\", \"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\", [10, 11], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$1 $2-$3\", [\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\", \"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"1\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[23]\"], \"0$1\", 1], [\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9(?:2[2-469]|3[3-578])\", \"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\", \"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 15-$3-$4\", [\"91\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3-$4\"]], \"0\", 0, \"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\", \"9$1\"], \"AS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([267]\\\\d{6})$\", \"684$1\", 0, \"684\"], \"AT\": [\"43\", \"00\", \"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3,12})\", \"$1 $2\", [\"1(?:11|[2-9])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})\", \"$1 $2\", [\"517\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"5[079]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,10})\", \"$1 $2\", [\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,9})\", \"$1 $2\", [\"[2-467]|5[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AU\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\", [5, 6, 7, 8, 9, 10, 12], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"16\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"16\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"14|4\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[2378]\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:30|[89])\"]]], \"0\", 0, \"0|(183[12])\", 0, 0, 0, [[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, [\"163\\\\d{2,6}\", [5, 6, 7, 8, 9]], [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"AW\": [\"297\", \"00\", \"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[25-9]\"]]]], \"AX\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\", [5, 6, 7, 8, 9, 10, 11, 12], 0, \"0\", 0, 0, 0, 0, \"18\", 0, \"00\"], \"AZ\": [\"994\", \"00\", \"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[28]|2|365|46\", \"1[28]|2|365[45]|46\", \"1[28]|2|365(?:4|5[02])|46\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[13-9]\"], \"0$1\"]], \"0\"], \"BA\": [\"387\", \"00\", \"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[1-3]|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2-$3\", [\"[3-5]|6[56]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"6\"], \"0$1\"]], \"0\"], \"BB\": [\"1\", \"011\", \"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"246$1\", 0, \"246\"], \"BD\": [\"880\", \"00\", \"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1-$2\", [\"31[5-8]|[459]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1-$2\", [\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,6})\", \"$1-$2\", [\"[13-9]|22\"], \"0$1\"], [\"(\\\\d)(\\\\d{7,8})\", \"$1-$2\", [\"2\"], \"0$1\"]], \"0\"], \"BE\": [\"32\", \"00\", \"4\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:80|9)0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[239]|4[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[15-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4\"], \"0$1\"]], \"0\"], \"BF\": [\"226\", \"00\", \"[025-7]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[025-7]\"]]]], \"BG\": [\"359\", \"00\", \"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"43[1-6]|70[1-9]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:70|8)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3\", [\"43[1-7]|7\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[48]|9[08]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"BH\": [\"973\", \"00\", \"[136-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[13679]|8[047]\"]]]], \"BI\": [\"257\", \"00\", \"(?:[267]\\\\d|31)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2367]\"]]]], \"BJ\": [\"229\", \"00\", \"(?:[25689]\\\\d|40)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-689]\"]]]], \"BL\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"BM\": [\"1\", \"011\", \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"441$1\", 0, \"441\"], \"BN\": [\"673\", \"00\", \"[2-578]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-578]\"]]]], \"BO\": [\"591\", \"00(?:1\\\\d)?\", \"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\", [8, 9], [[\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"[23]|4[46]\"]], [\"(\\\\d{8})\", \"$1\", [\"[67]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\", 0, \"0(1\\\\d)?\"], \"BQ\": [\"599\", \"00\", \"(?:[34]1|7\\\\d)\\\\d{5}\", [7], 0, 0, 0, 0, 0, 0, \"[347]\"], \"BR\": [\"55\", \"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\", \"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"300|4(?:0[02]|37)\", \"4(?:02|37)0|[34]00\"]], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:[358]|90)0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1 $2-$3\", [\"[16][1-9]|[2-57-9]\"], \"($1)\"]], \"0\", 0, \"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\", \"$2\"], \"BS\": [\"1\", \"011\", \"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-8]\\\\d{6})$\", \"242$1\", 0, \"242\"], \"BT\": [\"975\", \"00\", \"[17]\\\\d{7}|[2-8]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-68]|7[246]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[67]|7\"]]]], \"BW\": [\"267\", \"00\", \"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[24-6]|3[15-79]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"BY\": [\"375\", \"810\", \"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"800\"], \"8 $1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\", \"$1 $2 $3\", [\"800\"], \"8 $1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\", \"$1 $2-$3\", [\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\", \"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"1(?:[56]|7[467])|2[1-3]\"], \"8 0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-4]\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"8 $1\"]], \"8\", 0, \"0|80?\", 0, 0, 0, 0, \"8~10\"], \"BZ\": [\"501\", \"00\", \"(?:0800\\\\d|[2-8])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-8]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"0\"]]]], \"CA\": [\"1\", \"011\", \"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\", [7, 10], 0, \"1\", 0, 0, 0, 0, 0, [[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|68|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\", [10]], [\"\", [10]], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\", [10]], [\"900[2-9]\\\\d{6}\", [10]], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-7]|33|44|66|77|88)|622)[2-9]\\\\d{6}\", [10]], 0, [\"310\\\\d{4}\", [7]], 0, [\"600[2-9]\\\\d{6}\", [10]]]], \"CC\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CD\": [\"243\", \"00\", \"[189]\\\\d{8}|[1-68]\\\\d{6}\", [7, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[1-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"CF\": [\"236\", \"00\", \"(?:[27]\\\\d{3}|8776)\\\\d{4}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[278]\"]]]], \"CG\": [\"242\", \"00\", \"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[02]\"]]]], \"CH\": [\"41\", \"00\", \"8\\\\d{11}|[2-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8[047]|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-79]|81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"8\"], \"0$1\"]], \"0\"], \"CI\": [\"225\", \"00\", \"[02]\\\\d{9}\", [10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\", \"$1 $2 $3 $4\", [\"2\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"0\"]]]], \"CK\": [\"682\", \"00\", \"[2-578]\\\\d{4}\", [5], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"[2-578]\"]]]], \"CL\": [\"56\", \"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\", \"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\", [9, 10, 11], [[\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"219\", \"2196\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[1-36]\"], \"($1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"9[2-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"60|8\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"60\"]]]], \"CM\": [\"237\", \"00\", \"[26]\\\\d{8}|88\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"88\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[26]|88\"]]]], \"CN\": [\"86\", \"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\", \"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5,6})\", \"$1 $2\", [\"(?:10|2[0-57-9])[19]\", \"(?:10|2[0-57-9])(?:10|9[56])\", \"(?:10|2[0-57-9])(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\", \"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\", \"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\", \"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:4|80)0\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"10|2(?:[02-57-9]|1[1-9])\", \"10|2(?:[02-57-9]|1[1-9])\", \"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-578]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"1[3-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"[12]\"], \"0$1\", 1]], \"0\", 0, \"0|(1(?:[12]\\\\d|79)\\\\d\\\\d)\", 0, 0, 0, 0, \"00\"], \"CO\": [\"57\", \"00(?:4(?:[14]4|56)|[579])\", \"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\", [10, 11], [[\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"6\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"[39]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{7})\", \"$1-$2-$3\", [\"1\"], \"0$1\", 0, \"$1 $2 $3\"]], \"0\", 0, \"0(4(?:[14]4|56)|[579])?\"], \"CR\": [\"506\", \"00\", \"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\", [8, 10], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[3-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[89]\"]]], 0, 0, \"(19(?:0[0-2468]|1[09]|20|66|77|99))\"], \"CU\": [\"53\", \"119\", \"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\", [6, 7, 8, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"2[1-4]|[34]\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{6,7})\", \"$1 $2\", [\"7\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"8\"], \"0$1\"]], \"0\"], \"CV\": [\"238\", \"0\", \"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2-589]\"]]]], \"CW\": [\"599\", \"00\", \"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[3467]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9[4-8]\"]]], 0, 0, 0, 0, 0, \"[69]\"], \"CX\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CY\": [\"357\", \"00\", \"(?:[279]\\\\d|[58]0)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[257-9]\"]]]], \"CZ\": [\"420\", \"00\", \"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]|9[015-7]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"96\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]]], \"DE\": [\"49\", \"00\", \"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[02-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|[23]1|[46][1-8])\\\\d{1,9}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [[\"(\\\\d{2})(\\\\d{3,13})\", \"$1 $2\", [\"3[02]|40|[68]9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,12})\", \"$1 $2\", [\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\", \"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2,11})\", \"$1 $2\", [\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\", \"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"138\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{2,10})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,11})\", \"$1 $2\", [\"181\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\", \"$1 $2 $3\", [\"1(?:3|80)|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"1[67]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,12})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"185\", \"1850\", \"18500\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"18[68]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"15[0568]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"15[1279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{8})\", \"$1 $2\", [\"18\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\", \"$1 $2 $3\", [\"1(?:6[023]|7)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\", \"$1 $2 $3\", [\"15[279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\", \"$1 $2 $3\", [\"15\"], \"0$1\"]], \"0\"], \"DJ\": [\"253\", \"00\", \"(?:2\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[27]\"]]]], \"DK\": [\"45\", \"00\", \"[2-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-9]\"]]]], \"DM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"767$1\", 0, \"767\"], \"DO\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"8001|8[024]9\"], \"DZ\": [\"213\", \"00\", \"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-8]\"], \"0$1\"]], \"0\"], \"EC\": [\"593\", \"00\", \"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[2-7]\"], \"(0$1)\", 0, \"$1-$2-$3\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"EE\": [\"372\", \"00\", \"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\", \"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]], [\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[45]|8(?:00|[1-49])\", \"[45]|8(?:00[1-9]|[1-49])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"EG\": [\"20\", \"00\", \"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{7,8})\", \"$1 $2\", [\"[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,7})\", \"$1 $2\", [\"1[35]|[4-6]|8[2468]|9[235-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[189]\"], \"0$1\"]], \"0\"], \"EH\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], 0, \"0\", 0, 0, 0, 0, \"528[89]\"], \"ER\": [\"291\", \"00\", \"[178]\\\\d{6}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[178]\"], \"0$1\"]], \"0\"], \"ES\": [\"34\", \"00\", \"[5-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]00\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-9]\"]]]], \"ET\": [\"251\", \"00\", \"(?:11|[2-579]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-579]\"], \"0$1\"]], \"0\"], \"FI\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d)(\\\\d{4,9})\", \"$1 $2\", [\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[12]00|[368]|70[07-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,8})\", \"$1 $2\", [\"[1245]|7[135]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,10})\", \"$1 $2\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"1[03-79]|[2-9]\", 0, \"00\"], \"FJ\": [\"679\", \"0(?:0|52)\", \"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[235-9]|45\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"FK\": [\"500\", \"00\", \"[2-7]\\\\d{4}\", [5]], \"FM\": [\"691\", \"00\", \"(?:[39]\\\\d\\\\d|820)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[389]\"]]]], \"FO\": [\"298\", \"00\", \"[2-9]\\\\d{5}\", [6], [[\"(\\\\d{6})\", \"$1\", [\"[2-9]\"]]], 0, 0, \"(10(?:01|[12]0|88))\"], \"FR\": [\"33\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0 $1\"], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[1-79]\"], \"0$1\"]], \"0\"], \"GA\": [\"241\", \"00\", \"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"11|[67]\"], \"0$1\"]], 0, 0, \"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\", \"$1\"], \"GB\": [\"44\", \"00\", \"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\", [7, 9, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"800\", \"8001\", \"80011\", \"800111\", \"8001111\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"845\", \"8454\", \"84546\", \"845464\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"1(?:38|5[23]|69|76|94)\", \"1(?:(?:38|69)7|5(?:24|39)|768|946)\", \"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"1(?:[2-69][02-9]|[78])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[25]|7(?:0|6[02-9])\", \"[25]|7(?:0|6(?:[03-9]|2[356]))\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1389]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[01359])|(?:5[0-26-9]|[78][0-49])\\\\d\\\\d|6(?:[0-4]\\\\d\\\\d|50[0-79]))|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d\\\\d|1(?:[0-7]\\\\d\\\\d|8(?:[02]\\\\d|1[0-26-9])))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\", [9, 10]], [\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]], 0, \" x\"], \"GD\": [\"1\", \"011\", \"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"473$1\", 0, \"473\"], \"GE\": [\"995\", \"00\", \"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"32\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[57]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[348]\"], \"0$1\"]], \"0\"], \"GF\": [\"594\", \"00\", \"(?:[56]94|80\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"GG\": [\"44\", \"00\", \"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\", [7, 9, 10], 0, \"0\", 0, \"0|([25-9]\\\\d{5})$\", \"1481$1\", 0, 0, [[\"1481[25-9]\\\\d{5}\", [10]], [\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]]], \"GH\": [\"233\", \"00\", \"(?:[235]\\\\d{3}|800)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[235]\"], \"0$1\"]], \"0\"], \"GI\": [\"350\", \"00\", \"(?:[25]\\\\d\\\\d|606)\\\\d{5}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2\"]]]], \"GL\": [\"299\", \"00\", \"(?:19|[2-689]\\\\d|70)\\\\d{4}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"19|[2-9]\"]]]], \"GM\": [\"220\", \"00\", \"[2-9]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"GN\": [\"224\", \"00\", \"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"3\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[67]\"]]]], \"GP\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1289]|5[3-579]|6[0-289]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"GQ\": [\"240\", \"00\", \"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235]\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[89]\"]]]], \"GR\": [\"30\", \"00\", \"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\", [10, 11, 12], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"21|7\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2689]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\", \"$1 $2 $3\", [\"8\"]]]], \"GT\": [\"502\", \"00\", \"(?:1\\\\d{3}|[2-7])\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"GU\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-9]\\\\d{6})$\", \"671$1\", 0, \"671\"], \"GW\": [\"245\", \"00\", \"[49]\\\\d{8}|4\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"40\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"]]]], \"GY\": [\"592\", \"001\", \"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46-9]\"]]]], \"HK\": [\"852\", \"00(?:30|5[09]|[126-9]?)\", \"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\", [5, 6, 7, 8, 9, 11], [[\"(\\\\d{3})(\\\\d{2,5})\", \"$1 $2\", [\"900\", \"9003\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"HN\": [\"504\", \"00\", \"8\\\\d{10}|[237-9]\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[237-9]\"]]]], \"HR\": [\"385\", \"00\", \"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"6[01]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-5]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"HT\": [\"509\", \"00\", \"[2-489]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-489]\"]]]], \"HU\": [\"36\", \"00\", \"[235-7]\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"06 $1\"]], \"06\"], \"ID\": [\"62\", \"00[89]\", \"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\", [7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"15\"]], [\"(\\\\d{2})(\\\\d{5,9})\", \"$1 $2\", [\"2[124]|[36]1\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,7})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,8})\", \"$1 $2\", [\"[2-79]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\", \"$1-$2-$3\", [\"8[1-35-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6,8})\", \"$1 $2\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"804\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"80\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"]], \"0\"], \"IE\": [\"353\", \"00\", \"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"2[24-9]|47|58|6[237-9]|9[35-9]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[45]0\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2569]|4[1-69]|7[14]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"81\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"IL\": [\"972\", \"0(?:0|1[2-9])\", \"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{4})(\\\\d{3})\", \"$1-$2\", [\"125\"]], [\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"121\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[2-489]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"12\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1-$2\", [\"159\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"1[7-9]\"]], [\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3-$4\", [\"15\"]]], \"0\"], \"IM\": [\"44\", \"00\", \"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([25-8]\\\\d{5})$\", \"1624$1\", 0, \"74576|(?:16|7[56])24\"], \"IN\": [\"91\", \"00\", \"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\", [8, 9, 10, 11, 12, 13], [[\"(\\\\d{8})\", \"$1\", [\"5(?:0|2[23]|3[03]|[67]1|88)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"], 0, 1], [\"(\\\\d{4})(\\\\d{4,5})\", \"$1 $2\", [\"180\", \"1800\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"140\"], 0, 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\", \"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\", \"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\", \"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\", \"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"[6-9]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:6|8[06])\", \"1(?:6|8[06]0)\"], 0, 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"18\"], 0, 1]], \"0\"], \"IO\": [\"246\", \"00\", \"3\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"3\"]]]], \"IQ\": [\"964\", \"00\", \"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"IR\": [\"98\", \"00\", \"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\", [4, 5, 6, 7, 10], [[\"(\\\\d{4,5})\", \"$1\", [\"96\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,5})\", \"$1 $2\", [\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-8]\"], \"0$1\"]], \"0\"], \"IS\": [\"354\", \"00|1(?:0(?:01|[12]0)|100)\", \"(?:38\\\\d|[4-9])\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"IT\": [\"39\", \"00\", \"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"0[26]\"]], [\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\", \"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]], [\"(\\\\d{4})(\\\\d{2,6})\", \"$1 $2\", [\"0(?:[13-579][2-46-8]|8[236-8])\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"894\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[26]|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1(?:44|[679])|[378]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[13-57-9][0159]|14\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\", \"$1 $2 $3\", [\"0[26]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, [[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"], [\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\", [9, 10]], [\"80(?:0\\\\d{3}|3)\\\\d{3}\", [6, 9]], [\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\", [6, 8, 9, 10]], [\"1(?:78\\\\d|99)\\\\d{6}\", [9, 10]], 0, 0, 0, [\"55\\\\d{8}\", [10]], [\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\", [6, 9]]]], \"JE\": [\"44\", \"00\", \"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([0-24-8]\\\\d{5})$\", \"1534$1\", 0, 0, [[\"1534[0-24-8]\\\\d{5}\"], [\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"], [\"80(?:07(?:35|81)|8901)\\\\d{4}\"], [\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"], [\"701511\\\\d{4}\"], 0, [\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"], [\"56\\\\d{8}\"]]], \"JM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"658|876\"], \"JO\": [\"962\", \"00\", \"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2356]|87\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"70\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"JP\": [\"81\", \"010\", \"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"(?:12|57|99)0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[36]|4(?:2[09]|7[01])\", \"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3\", [\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"800\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[257-9]\"], \"0$1\"]], \"0\"], \"KE\": [\"254\", \"000\", \"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"[24-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[17]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"KG\": [\"996\", \"00\", \"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{7}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3(?:1[346]|[24-79])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235-79]|88\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"KH\": [\"855\", \"00[14-9]\", \"1\\\\d{9}|[1-9]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"KI\": [\"686\", \"00\", \"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\", [5, 8], 0, \"0\"], \"KM\": [\"269\", \"00\", \"[3478]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[3478]\"]]]], \"KN\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"869$1\", 0, \"869\"], \"KP\": [\"850\", \"00|99\", \"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\", [8, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"KR\": [\"82\", \"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\", \"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\", [5, 6, 8, 9, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1-$2\", [\"(?:3[1-3]|[46][1-4]|5[1-5])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"1\"]], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"[1346]|5[1-5]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1-$2-$3\", [\"5\"], \"0$1\"]], \"0\", 0, \"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"], \"KW\": [\"965\", \"00\", \"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[169]|2(?:[235]|4[1-35-9])|52\"]], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[245]\"]]]], \"KY\": [\"1\", \"011\", \"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"345$1\", 0, \"345\"], \"KZ\": [\"7\", \"810\", \"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\", [10, 14], 0, \"8\", 0, 0, 0, 0, \"33|7\", 0, \"8~10\"], \"LA\": [\"856\", \"00\", \"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2[13]|3[14]|[4-8]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"30[013-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\"], \"LB\": [\"961\", \"00\", \"[27-9]\\\\d{7}|[13-9]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27-9]\"]]], \"0\"], \"LC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"758$1\", 0, \"758\"], \"LI\": [\"423\", \"00\", \"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\", [7, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2379]|8(?:0[09]|7)\", \"[2379]|8(?:0(?:02|9)|7)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"69\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]], \"0\", 0, \"0|(1001)\"], \"LK\": [\"94\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[1-689]\"], \"0$1\"]], \"0\"], \"LR\": [\"231\", \"00\", \"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[4-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\"]], \"0\"], \"LS\": [\"266\", \"00\", \"(?:[256]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2568]\"]]]], \"LT\": [\"370\", \"00\", \"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"52[0-7]\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"8 $1\", 1], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"37|4(?:[15]|6[1-8])\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[3-6]\"], \"(8-$1)\", 1]], \"8\", 0, \"[08]\"], \"LU\": [\"352\", \"00\", \"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\", [4, 5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"20[2-689]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"80[01]|90[015]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"20\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4 $5\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\", \"$1 $2 $3 $4\", [\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]], 0, 0, \"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"], \"LV\": [\"371\", \"00\", \"(?:[268]\\\\d|90)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[269]|8[01]\"]]]], \"LY\": [\"218\", \"00\", \"[2-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MA\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], [[\"(\\\\d{5})(\\\\d{4})\", \"$1-$2\", [\"5(?:29|38)\", \"5(?:29[89]|389)\", \"5(?:29[89]|389)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5[45]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1-$2\", [\"5(?:2[2-489]|3[5-9]|9)|892\", \"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"8\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1-$2\", [\"[5-7]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"5(?:29(?:[189][05]|2[29]|3[01])|389[05])\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[08]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"], [\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]))\\\\d{6}\"], [\"80\\\\d{7}\"], [\"89\\\\d{7}\"], 0, 0, 0, 0, [\"592(?:4[0-2]|93)\\\\d{4}\"]]], \"MC\": [\"377\", \"00\", \"(?:[3489]|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"4\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[389]\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"6\"], \"0$1\"]], \"0\"], \"MD\": [\"373\", \"00\", \"(?:[235-7]\\\\d|[89]0)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"22|3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[25-7]\"], \"0$1\"]], \"0\"], \"ME\": [\"382\", \"00\", \"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MF\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"MG\": [\"261\", \"00\", \"[23]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\", 0, \"0|([24-9]\\\\d{6})$\", \"20$1\"], \"MH\": [\"692\", \"011\", \"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-6]\"]]], \"1\"], \"MK\": [\"389\", \"00\", \"[2-578]\\\\d{7}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2|34[47]|4(?:[37]7|5[47]|64)\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[347]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[58]\"], \"0$1\"]], \"0\"], \"ML\": [\"223\", \"00\", \"[24-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-9]\"]]]], \"MM\": [\"95\", \"00\", \"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\", [6, 7, 8, 9, 10], [[\"(\\\\d)(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"16|2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[4-7]|8[1-35]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\", \"$1 $2 $3\", [\"9(?:2[0-4]|[35-9]|4[137-9])\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"92\"], \"0$1\"], [\"(\\\\d)(\\\\d{5})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"MN\": [\"976\", \"001\", \"[12]\\\\d{7,9}|[5-9]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[12]1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[12]2[1-3]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\", \"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"[12]\"], \"0$1\"]], \"0\"], \"MO\": [\"853\", \"00\", \"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[268]\"]]]], \"MP\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"670$1\", 0, \"670\"], \"MQ\": [\"596\", \"00\", \"(?:69|80)\\\\d{7}|(?:59|97)6\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"MR\": [\"222\", \"00\", \"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-48]\"]]]], \"MS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([34]\\\\d{6})$\", \"664$1\", 0, \"664\"], \"MT\": [\"356\", \"00\", \"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2357-9]\"]]]], \"MU\": [\"230\", \"0(?:0|[24-7]0|3[03])\", \"(?:5|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46]|8[013]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"5\"]], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"8\"]]], 0, 0, 0, 0, 0, 0, 0, \"020\"], \"MV\": [\"960\", \"0(?:0|19)\", \"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\", [7, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[3467]|9[13-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"MW\": [\"265\", \"00\", \"(?:[129]\\\\d|31|77|88)\\\\d{7}|1\\\\d{6}\", [7, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[137-9]\"], \"0$1\"]], \"0\"], \"MX\": [\"52\", \"0[09]\", \"1(?:(?:44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[017]\\\\d|[235][1-9]|4[0-35-9]|6[0-46-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\", [10, 11], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"33|5[56]|81\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-9]\"], 0, 1], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 $3 $4\", [\"1(?:33|5[56]|81)\"], 0, 1], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 $3 $4\", [\"1\"], 0, 1]], \"01\", 0, \"0(?:[12]|4[45])|1\", 0, 0, 0, 0, \"00\"], \"MY\": [\"60\", \"00\", \"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"[4-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1-$2 $3\", [\"1(?:[02469]|[378][1-9]|53)|8\", \"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"3\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3-$4\", [\"1(?:[367]|80)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"15\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"MZ\": [\"258\", \"00\", \"(?:2|8\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2|8[2-79]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"NA\": [\"264\", \"00\", \"[68]\\\\d{7,8}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"87\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"NC\": [\"687\", \"00\", \"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1.$2.$3\", [\"[02-57-9]\"]]]], \"NE\": [\"227\", \"00\", \"[027-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"08\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[089]|2[013]|7[04]\"]]]], \"NF\": [\"672\", \"00\", \"[13]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"1[0-3]\"]], [\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"[13]\"]]], 0, 0, \"([0-258]\\\\d{4})$\", \"3$1\"], \"NG\": [\"234\", \"009\", \"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\", [7, 8, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"78\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]|9(?:0[3-9]|[1-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-7]|8[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"]], \"0\"], \"NI\": [\"505\", \"00\", \"(?:1800|[25-8]\\\\d{3})\\\\d{4}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[125-8]\"]]]], \"NL\": [\"31\", \"00\", \"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\", [5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{4,7})\", \"$1 $2\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"66\"], \"0$1\"], [\"(\\\\d)(\\\\d{8})\", \"$1 $2\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-578]|91\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"NO\": [\"47\", \"00\", \"(?:0|[2-9]\\\\d{3})\\\\d{4}\", [5, 8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[489]|59\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[235-7]\"]]], 0, 0, 0, 0, 0, \"[02-689]|7[0-8]\"], \"NP\": [\"977\", \"00\", \"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d)(\\\\d{7})\", \"$1-$2\", [\"1[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1-$2\", [\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"9\"]]], \"0\"], \"NR\": [\"674\", \"00\", \"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-68]\"]]]], \"NU\": [\"683\", \"00\", \"(?:[47]|888\\\\d)\\\\d{3}\", [4, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"8\"]]]], \"NZ\": [\"64\", \"0(?:0|161)\", \"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,8})\", \"$1 $2\", [\"8[1-579]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"50[036-8]|[89]0\", \"50(?:[0367]|88)|[89]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"24|[346]|7[2-57-9]|9[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:10|74)|[59]|80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1|2[028]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\", \"$1 $2 $3\", [\"2(?:[169]|7[0-35-9])|7|86\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"OM\": [\"968\", \"00\", \"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4,6})\", \"$1 $2\", [\"[58]\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[179]\"]]]], \"PA\": [\"507\", \"00\", \"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\", [7, 8, 10, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[1-57-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[68]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]]], \"PE\": [\"51\", \"00|19(?:1[124]|77|90)00\", \"(?:[14-8]|9\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[4-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"]]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" Anexo \"], \"PF\": [\"689\", \"00\", \"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\", [6, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4|8[7-9]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"PG\": [\"675\", \"00|140[1-3]\", \"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"18|[2-69]|85\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[78]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"PH\": [\"63\", \"00\", \"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\", [6, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"2\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\", \"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"346|4(?:27|9[35])|883\", \"3469|4(?:279|9(?:30|56))|8834\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|8[2-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"1\"]]], \"0\"], \"PK\": [\"92\", \"00\", \"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\", [8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\", \"$1 $2 $3\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{6,7})\", \"$1 $2\", [\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\", \"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{7,8})\", \"$1 $2\", [\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"58\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[24-9]\"], \"(0$1)\"]], \"0\"], \"PL\": [\"48\", \"00\", \"6\\\\d{5}(?:\\\\d{2})?|8\\\\d{9}|[1-9]\\\\d{6}(?:\\\\d{2})?\", [6, 7, 8, 9, 10], [[\"(\\\\d{5})\", \"$1\", [\"19\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"11|64\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\", \"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"64\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[2-8]|[2-7]|8[1-79]|9[145]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"8\"]]]], \"PM\": [\"508\", \"00\", \"(?:[45]|80\\\\d\\\\d)\\\\d{5}\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[45]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"PR\": [\"1\", \"011\", \"(?:[589]\\\\d\\\\d|787)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"787|939\"], \"PS\": [\"970\", \"00\", \"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2489]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"PT\": [\"351\", \"00\", \"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2[12]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"16|[236-9]\"]]]], \"PW\": [\"680\", \"01[12]\", \"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"PY\": [\"595\", \"00\", \"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"[2-9]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{4,5})\", \"$1 $2\", [\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"87\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"9(?:[5-79]|8[1-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"]]], \"0\"], \"QA\": [\"974\", \"00\", \"[2-7]\\\\d{7}|800\\\\d{4}(?:\\\\d{2})?|2\\\\d{6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"2[126]|8\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]]]], \"RE\": [\"262\", \"00\", \"976\\\\d{6}|(?:26|[68]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2689]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"26[23]|69|[89]\"], \"RO\": [\"40\", \"00\", \"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\", [6, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"2[3-6]\", \"2[3-6]\\\\d9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"219|31\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[23]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[237-9]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \" int \"], \"RS\": [\"381\", \"00\", \"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\", [6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3,9})\", \"$1 $2\", [\"(?:2[389]|39)0|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5,10})\", \"$1 $2\", [\"[1-36]\"], \"0$1\"]], \"0\"], \"RU\": [\"7\", \"810\", \"8\\\\d{13}|[347-9]\\\\d{9}\", [10, 14], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-8]|2[1-9])\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"], \"8 ($1)\", 1], [\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-68]|2[1-9])\", \"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\", \"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[349]|8(?:[02-7]|1[1-8])\"], \"8 ($1)\", 1], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"8\"], \"8 ($1)\"]], \"8\", 0, 0, 0, 0, \"3[04-689]|[489]\", 0, \"8~10\"], \"RW\": [\"250\", \"00\", \"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"]]], \"0\"], \"SA\": [\"966\", \"00\", \"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\"], \"SB\": [\"677\", \"0[01]\", \"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]], \"SC\": [\"248\", \"010|0[0-2]\", \"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[246]|9[57]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"SD\": [\"249\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"SE\": [\"46\", \"00\", \"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"20\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"9(?:00|39|44|9)\"], \"0$1\", 0, \"$1 $2\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3\", [\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\", \"$1-$2 $3\", [\"9(?:00|39|44)\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"10|7\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1-$2 $3 $4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4 $5\", [\"[26]\"], \"0$1\", 0, \"$1 $2 $3 $4 $5\"]], \"0\"], \"SG\": [\"65\", \"0[0-3]\\\\d\", \"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[369]|8(?:0[1-5]|[1-9])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"SH\": [\"290\", \"00\", \"(?:[256]\\\\d|8)\\\\d{3}\", [4, 5], 0, 0, 0, 0, 0, 0, \"[256]\"], \"SI\": [\"386\", \"00|10(?:22|66|88|99)\", \"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\", [5, 6, 7, 8], [[\"(\\\\d{2})(\\\\d{3,6})\", \"$1 $2\", [\"8[09]|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"59|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37][01]|4[0139]|51|6\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-57]\"], \"(0$1)\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"SJ\": [\"47\", \"00\", \"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\", [5, 8], 0, 0, 0, 0, 0, 0, \"79\"], \"SK\": [\"421\", \"00\", \"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\", [6, 7, 9], [[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\", \"$1 $2 $3\", [\"21\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-5][1-8]1\", \"[3-5][1-8]1[67]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[689]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"[3-5]\"], \"0$1\"]], \"0\"], \"SL\": [\"232\", \"00\", \"(?:[237-9]\\\\d|66)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[236-9]\"], \"(0$1)\"]], \"0\"], \"SM\": [\"378\", \"00\", \"(?:0549|[5-7]\\\\d)\\\\d{6}\", [8, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-7]\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"0\"]]], 0, 0, \"([89]\\\\d{5})$\", \"0549$1\"], \"SN\": [\"221\", \"00\", \"(?:[378]\\\\d|93)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[379]\"]]]], \"SO\": [\"252\", \"00\", \"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"8[125]\"]], [\"(\\\\d{6})\", \"$1\", [\"[134]\"]], [\"(\\\\d)(\\\\d{6})\", \"$1 $2\", [\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"24|[67]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3478]|64|90\"]], [\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"1|28|6(?:0[5-7]|[1-35-9])|9[2-9]\"]]], \"0\"], \"SR\": [\"597\", \"00\", \"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\", [6, 7], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"56\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1-$2\", [\"[2-5]\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[6-8]\"]]]], \"SS\": [\"211\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"ST\": [\"239\", \"00\", \"(?:22|9\\\\d)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[29]\"]]]], \"SV\": [\"503\", \"00\", \"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\", [7, 8, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[89]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[267]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]]], \"SX\": [\"1\", \"011\", \"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|(5\\\\d{6})$\", \"721$1\", 0, \"721\"], \"SY\": [\"963\", \"00\", \"[1-39]\\\\d{8}|[1-5]\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-5]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\", 1]], \"0\"], \"SZ\": [\"268\", \"00\", \"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\", [8, 9], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[0237]\"]], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"9\"]]]], \"TA\": [\"290\", \"00\", \"8\\\\d{3}\", [4], 0, 0, 0, 0, 0, 0, \"8\"], \"TC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-479]\\\\d{6})$\", \"649$1\", 0, \"649\"], \"TD\": [\"235\", \"00|16\", \"(?:22|[69]\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2679]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"TG\": [\"228\", \"00\", \"[279]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[279]\"]]]], \"TH\": [\"66\", \"00[1-9]\", \"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\", [8, 9, 10, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[13-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"TJ\": [\"992\", \"810\", \"(?:00|[1-57-9]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{6})(\\\\d)(\\\\d{2})\", \"$1 $2 $3\", [\"331\", \"3317\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[34]7|91[78]\"]], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"3[1-5]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[0-57-9]\"]]], 0, 0, 0, 0, 0, 0, 0, \"8~10\"], \"TK\": [\"690\", \"00\", \"[2-47]\\\\d{3,6}\", [4, 5, 6, 7]], \"TL\": [\"670\", \"00\", \"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-489]|70\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"7\"]]]], \"TM\": [\"993\", \"810\", \"[1-6]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"12\"], \"(8 $1)\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-5]\"], \"(8 $1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"6\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"TN\": [\"216\", \"00\", \"[2-57-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-57-9]\"]]]], \"TO\": [\"676\", \"00\", \"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1-$2\", [\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]], [\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]]]], \"TR\": [\"90\", \"00\", \"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\", [7, 10, 12, 13], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"512|8[01589]|90\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5(?:[0-59]|61)\", \"5(?:[0-59]|616)\", \"5(?:[0-59]|6161)\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24][1-8]|3[1-9]\"], \"(0$1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1]], \"0\"], \"TT\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-46-8]\\\\d{6})$\", \"868$1\", 0, \"868\"], \"TV\": [\"688\", \"00\", \"(?:2|7\\\\d\\\\d|90)\\\\d{4}\", [5, 6, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"TW\": [\"886\", \"0(?:0[25-79]|19)\", \"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\", [7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"202\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[258]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\", \"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \"#\"], \"TZ\": [\"255\", \"00[056]\", \"(?:[26-8]\\\\d|41|90)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[24]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"]], \"0\"], \"UA\": [\"380\", \"00\", \"[89]\\\\d{9}|[3-9]\\\\d{8}\", [9, 10], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\", \"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\", \"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|89|9[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"0~0\"], \"UG\": [\"256\", \"00[057]\", \"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"202\", \"2024\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[27-9]|4(?:6[45]|[7-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[34]\"], \"0$1\"]], \"0\"], \"US\": [\"1\", \"011\", \"[2-9]\\\\d{9}|3\\\\d{6}\", [10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"310\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"($1) $2-$3\", [\"[2-9]\"], 0, 1, \"$1-$2-$3\"]], \"1\", 0, 0, 0, 0, 0, [[\"5(?:05(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|5[25]|88)|9(?:00|9[89])))\\\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"], [\"\"], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"], [\"900[2-9]\\\\d{6}\"], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-7]|33|44|66|77|88)[2-9]\\\\d{6}\"]]], \"UY\": [\"598\", \"0(?:0|1[3-9]\\\\d)\", \"4\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"405|8|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[124]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" int. \"], \"UZ\": [\"998\", \"810\", \"(?:33|55|[679]\\\\d|88)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[35-9]\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"VA\": [\"39\", \"00\", \"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\", [6, 7, 8, 9, 10, 11], 0, 0, 0, 0, 0, 0, \"06698\"], \"VC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"784$1\", 0, \"784\"], \"VE\": [\"58\", \"00\", \"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\", [10], [[\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"[24-689]\"], \"0$1\"]], \"0\"], \"VG\": [\"1\", \"011\", \"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-578]\\\\d{6})$\", \"284$1\", 0, \"284\"], \"VI\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"340$1\", 0, \"340\"], \"VN\": [\"84\", \"00\", \"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"1\"], 0, 1], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[69]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[48]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\", 1]], \"0\"], \"VU\": [\"678\", \"00\", \"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\", [5, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[57-9]\"]]]], \"WF\": [\"681\", \"00\", \"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[478]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"WS\": [\"685\", \"0\", \"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\", [5, 6, 7, 10], [[\"(\\\\d{5})\", \"$1\", [\"[2-5]|6[1-9]\"]], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[68]\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"XK\": [\"383\", \"00\", \"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[23]\"], \"0$1\"]], \"0\"], \"YE\": [\"967\", \"00\", \"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-6]|7[24-68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"YT\": [\"262\", \"00\", \"80\\\\d{7}|(?:26|63)9\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, \"269|63\"], \"ZA\": [\"27\", \"00\", \"[1-79]\\\\d{8}|8\\\\d{4,9}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"860\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"ZM\": [\"260\", \"00\", \"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[28]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[79]\"], \"0$1\"]], \"0\"], \"ZW\": [\"263\", \"00\", \"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{3})(\\\\d{3,5})\", \"$1 $2\", [\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\", \"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\", \"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"29[013-9]|39|54\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,5})\", \"$1 $2\", [\"(?:25|54)8\", \"258|5483\"], \"0$1\"]], \"0\"] }, \"nonGeographic\": { \"800\": [\"800\", 0, \"(?:00|[1-9]\\\\d)\\\\d{6}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"\\\\d\"]]], 0, 0, 0, 0, 0, 0, [0, 0, [\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]], \"808\": [\"808\", 0, \"[1-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[1-9]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, [\"[1-9]\\\\d{7}\"]]], \"870\": [\"870\", 0, \"7\\\\d{11}|[35-7]\\\\d{8}\", [9, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[35-7]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]], \"878\": [\"878\", 0, \"10\\\\d{10}\", [12], [[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\", \"$1 $2 $3\", [\"1\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"10\\\\d{10}\"]]], \"881\": [\"881\", 0, \"[0-36-9]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"[0-36-9]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"[0-36-9]\\\\d{8}\"]]], \"882\": [\"882\", 0, \"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|(?:[19]\\\\d|49)\\\\d{6}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"16|342\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"4\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"3[23]\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34[57]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34\"]], [\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\", \"$1 $2 $3\", [\"[1-3]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"342\\\\d{4}|(?:337|49)\\\\d{6}|3(?:2|47|7\\\\d{3})\\\\d{7}\", [7, 8, 9, 10, 12]], 0, 0, 0, 0, 0, 0, [\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:(?:285\\\\d\\\\d|3(?:45|[69]\\\\d{3}))\\\\d|9[89])\\\\d{6}\"]]], \"883\": [\"883\", 0, \"(?:210|370\\\\d\\\\d)\\\\d{7}|51\\\\d{7}(?:\\\\d{3})?\", [9, 10, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"510\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"51[13]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[35]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"(?:210|(?:370[1-9]|51[013]0)\\\\d)\\\\d{7}|5100\\\\d{5}\"]]], \"888\": [\"888\", 0, \"\\\\d{11}\", [11], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, [\"\\\\d{11}\"]]], \"979\": [\"979\", 0, \"[1359]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1359]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, [\"[1359]\\\\d{8}\"]]] } };\nfunction withMetadataArgument(func, _arguments) {\n var args = Array.prototype.slice.call(_arguments);\n args.push(metadata);\n return func.apply(this, args);\n}\nfunction _typeof$2(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$2 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$2(obj);\n}\nfunction _defineProperties$2(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$2(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$2(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$2(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nfunction _classCallCheck$2(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n Object.defineProperty(subClass, \"prototype\", { writable: false });\n if (superClass)\n _setPrototypeOf(subClass, superClass);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived), result2;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result2 = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result2 = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result2);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof$2(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? /* @__PURE__ */ new Map() : void 0;\n _wrapNativeSuper = function _wrapNativeSuper2(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class2.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } });\n return _setPrototypeOf(Wrapper, Class2);\n };\n return _wrapNativeSuper(Class);\n}\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct2(Parent2, args2, Class2) {\n var a = [null];\n a.push.apply(a, args2);\n var Constructor = Function.bind.apply(Parent2, a);\n var instance = new Constructor();\n if (Class2)\n _setPrototypeOf(instance, Class2.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct)\n return false;\n if (Reflect.construct.sham)\n return false;\n if (typeof Proxy === \"function\")\n return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {\n o2.__proto__ = p2;\n return o2;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n };\n return _getPrototypeOf(o);\n}\nvar ParseError = /* @__PURE__ */ function(_Error) {\n _inherits(ParseError2, _Error);\n var _super = _createSuper(ParseError2);\n function ParseError2(code) {\n var _this;\n _classCallCheck$2(this, ParseError2);\n _this = _super.call(this, code);\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError2.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n return _createClass$2(ParseError2);\n}(/* @__PURE__ */ _wrapNativeSuper(Error));\nvar MIN_LENGTH_FOR_NSN = 2;\nvar MAX_LENGTH_FOR_NSN = 17;\nvar MAX_LENGTH_COUNTRY_CODE = 3;\nvar VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\";\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nvar WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\";\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\";\nvar VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nvar PLUS_CHARS = \"+\\uFF0B\";\nfunction compare(a, b) {\n a = a.split(\"-\");\n b = b.split(\"-\");\n var pa = a[0].split(\".\");\n var pb = b[0].split(\".\");\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb)\n return 1;\n if (nb > na)\n return -1;\n if (!isNaN(na) && isNaN(nb))\n return 1;\n if (isNaN(na) && !isNaN(nb))\n return -1;\n }\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\nfunction _typeof$1(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$1 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$1(obj);\n}\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties$1(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$1(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$1(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$1(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar V3 = \"1.2.0\";\nvar V4 = \"1.7.35\";\nvar DEFAULT_EXT_PREFIX = \" ext. \";\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\nvar Metadata = /* @__PURE__ */ function() {\n function Metadata2(metadata2) {\n _classCallCheck$1(this, Metadata2);\n validateMetadata(metadata2);\n this.metadata = metadata2;\n setVersion.call(this, metadata2);\n }\n _createClass$1(Metadata2, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function(_) {\n return _ !== \"001\";\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3)\n return;\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== void 0;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n }\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n if (countryCode && countryCode !== \"001\") {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = void 0;\n }\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes) {\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n if (this.nonGeographic()) {\n var metadata2 = this.nonGeographic()[callingCode];\n if (metadata2) {\n return metadata2;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return this.metadata.countries[\"001\"];\n }\n }\n }\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n }\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n }\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n }\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1)\n return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n }\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== void 0;\n }\n }]);\n return Metadata2;\n}();\nvar NumberingPlan = /* @__PURE__ */ function() {\n function NumberingPlan2(metadata2, globalMetadataObject) {\n _classCallCheck$1(this, NumberingPlan2);\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata2;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n _createClass$1(NumberingPlan2, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n }\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[1];\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2)\n return this.metadata[1];\n return this.metadata[2];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1)\n return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata2) {\n return metadata2[this.v1 ? 2 : this.v2 ? 3 : 4];\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n var formats2 = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats2.map(function(_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata2) {\n return metadata2[this.v1 ? 4 : this.v2 ? 5 : 6];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n if (this.types() && this.types().length === 0) {\n return false;\n }\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2)\n return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n return NumberingPlan2;\n}();\nvar Format = /* @__PURE__ */ function() {\n function Format2(format, metadata2) {\n _classCallCheck$1(this, Format2);\n this._format = format;\n this.metadata = metadata2;\n }\n _createClass$1(Format2, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n return Format2;\n}();\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\nvar Type = /* @__PURE__ */ function() {\n function Type2(type, metadata2) {\n _classCallCheck$1(this, Type2);\n this.type = type;\n this.metadata = metadata2;\n }\n _createClass$1(Type2, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1)\n return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1)\n return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n return Type2;\n}();\nfunction getType(types, type) {\n switch (type) {\n case \"FIXED_LINE\":\n return types[0];\n case \"MOBILE\":\n return types[1];\n case \"TOLL_FREE\":\n return types[2];\n case \"PREMIUM_RATE\":\n return types[3];\n case \"PERSONAL_NUMBER\":\n return types[4];\n case \"VOICEMAIL\":\n return types[5];\n case \"UAN\":\n return types[6];\n case \"PAGER\":\n return types[7];\n case \"VOIP\":\n return types[8];\n case \"SHARED_COST\":\n return types[9];\n }\n}\nfunction validateMetadata(metadata2) {\n if (!metadata2) {\n throw new Error(\"[libphonenumber-js] `metadata` argument not passed. Check your arguments.\");\n }\n if (!is_object(metadata2) || !is_object(metadata2.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata2) ? \"an object of shape: { \" + Object.keys(metadata2).join(\", \") + \" }\" : \"a \" + type_of(metadata2) + \": \" + metadata2, \".\"));\n }\n}\nvar is_object = function is_object2(_) {\n return _typeof$1(_) === \"object\";\n};\nvar type_of = function type_of2(_) {\n return _typeof$1(_);\n};\nfunction getCountryCallingCode(country, metadata2) {\n metadata2 = new Metadata(metadata2);\n if (metadata2.hasCountry(country)) {\n return metadata2.country(country).countryCallingCode();\n }\n throw new Error(\"Unknown country: \".concat(country));\n}\nfunction isSupportedCountry(country, metadata2) {\n return metadata2.countries[country] !== void 0;\n}\nfunction setVersion(metadata2) {\n var version = metadata2.version;\n if (typeof version === \"number\") {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n}\nvar RFC3966_EXTN_PREFIX = \";ext=\";\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern2(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\nfunction createExtensionPattern(purpose) {\n var extLimitAfterExplicitLabel = \"20\";\n var extLimitAfterLikelyLabel = \"15\";\n var extLimitAfterAmbiguousChar = \"9\";\n var extLimitWhenNotSure = \"6\";\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\";\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n var optionalExtnSuffix = \"#?\";\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\n var ambiguousSeparator = \"[- ]+\";\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\";\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = \"[\" + VALID_DIGITS + \"]{\" + MIN_LENGTH_FOR_NSN + \"}\";\nvar VALID_PHONE_NUMBER = \"[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){3,}[\" + VALID_PUNCTUATION + VALID_DIGITS + \"]*\";\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\"^[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){1,2}$\", \"i\");\nvar VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + \"(?:\" + createExtensionPattern() + \")?\";\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\"^\" + MIN_LENGTH_PHONE_NUMBER_PATTERN + \"$|^\" + VALID_PHONE_NUMBER_WITH_EXTENSION + \"$\", \"i\");\nfunction isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\nfunction isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\nvar EXTN_PATTERN = new RegExp(\"(?:\" + createExtensionPattern() + \")$\", \"i\");\nfunction extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n if (start < 0) {\n return {};\n }\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n i++;\n }\n}\nvar DIGITS = {\n \"0\": \"0\",\n \"1\": \"1\",\n \"2\": \"2\",\n \"3\": \"3\",\n \"4\": \"4\",\n \"5\": \"5\",\n \"6\": \"6\",\n \"7\": \"7\",\n \"8\": \"8\",\n \"9\": \"9\",\n \"\\uFF10\": \"0\",\n \"\\uFF11\": \"1\",\n \"\\uFF12\": \"2\",\n \"\\uFF13\": \"3\",\n \"\\uFF14\": \"4\",\n \"\\uFF15\": \"5\",\n \"\\uFF16\": \"6\",\n \"\\uFF17\": \"7\",\n \"\\uFF18\": \"8\",\n \"\\uFF19\": \"9\",\n \"\\u0660\": \"0\",\n \"\\u0661\": \"1\",\n \"\\u0662\": \"2\",\n \"\\u0663\": \"3\",\n \"\\u0664\": \"4\",\n \"\\u0665\": \"5\",\n \"\\u0666\": \"6\",\n \"\\u0667\": \"7\",\n \"\\u0668\": \"8\",\n \"\\u0669\": \"9\",\n \"\\u06F0\": \"0\",\n \"\\u06F1\": \"1\",\n \"\\u06F2\": \"2\",\n \"\\u06F3\": \"3\",\n \"\\u06F4\": \"4\",\n \"\\u06F5\": \"5\",\n \"\\u06F6\": \"6\",\n \"\\u06F7\": \"7\",\n \"\\u06F8\": \"8\",\n \"\\u06F9\": \"9\"\n};\nfunction parseDigit(character) {\n return DIGITS[character];\n}\nfunction _createForOfIteratorHelperLoose$5(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$6(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$6(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$6(o, minLen);\n}\nfunction _arrayLikeToArray$6(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseIncompletePhoneNumber(string) {\n var result2 = \"\";\n for (var _iterator = _createForOfIteratorHelperLoose$5(string.split(\"\")), _step; !(_step = _iterator()).done; ) {\n var character = _step.value;\n result2 += parsePhoneNumberCharacter(character, result2) || \"\";\n }\n return result2;\n}\nfunction parsePhoneNumberCharacter(character, prevParsedCharacters) {\n if (character === \"+\") {\n if (prevParsedCharacters) {\n return;\n }\n return \"+\";\n }\n return parseDigit(character);\n}\nfunction _createForOfIteratorHelperLoose$4(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$5(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$5(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$5(o, minLen);\n}\nfunction _arrayLikeToArray$5(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction mergeArrays(a, b) {\n var merged = a.slice();\n for (var _iterator = _createForOfIteratorHelperLoose$4(b), _step; !(_step = _iterator()).done; ) {\n var element = _step.value;\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n return merged.sort(function(a2, b2) {\n return a2 - b2;\n });\n}\nfunction checkNumberLength(nationalNumber, metadata2) {\n return checkNumberLengthForType(nationalNumber, void 0, metadata2);\n}\nfunction checkNumberLengthForType(nationalNumber, type, metadata2) {\n var type_info = metadata2.type(type);\n var possible_lengths = type_info && type_info.possibleLengths() || metadata2.possibleLengths();\n if (!possible_lengths) {\n return \"IS_POSSIBLE\";\n }\n if (type === \"FIXED_LINE_OR_MOBILE\") {\n if (!metadata2.type(\"FIXED_LINE\")) {\n return checkNumberLengthForType(nationalNumber, \"MOBILE\", metadata2);\n }\n var mobile_type = metadata2.type(\"MOBILE\");\n if (mobile_type) {\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n }\n } else if (type && !type_info) {\n return \"INVALID_LENGTH\";\n }\n var actual_length = nationalNumber.length;\n var minimum_length = possible_lengths[0];\n if (minimum_length === actual_length) {\n return \"IS_POSSIBLE\";\n }\n if (minimum_length > actual_length) {\n return \"TOO_SHORT\";\n }\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return \"TOO_LONG\";\n }\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? \"IS_POSSIBLE\" : \"INVALID_LENGTH\";\n}\nfunction isPossiblePhoneNumber(input, options, metadata2) {\n if (options === void 0) {\n options = {};\n }\n metadata2 = new Metadata(metadata2);\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n if (input.country) {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n }\n }\n if (metadata2.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata2);\n } else {\n if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nfunction isPossibleNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"IS_POSSIBLE\":\n return true;\n default:\n return false;\n }\n}\nfunction _slicedToArray$1(arr, i) {\n return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest$1();\n}\nfunction _nonIterableRest$1() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _iterableToArrayLimit$1(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles$1(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction _createForOfIteratorHelperLoose$3(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$4(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$4(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$4(o, minLen);\n}\nfunction _arrayLikeToArray$4(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseRFC3966(text) {\n var number;\n var ext;\n text = text.replace(/^tel:/, \"tel=\");\n for (var _iterator = _createForOfIteratorHelperLoose$3(text.split(\";\")), _step; !(_step = _iterator()).done; ) {\n var part = _step.value;\n var _part$split = part.split(\"=\"), _part$split2 = _slicedToArray$1(_part$split, 2), name = _part$split2[0], value = _part$split2[1];\n switch (name) {\n case \"tel\":\n number = value;\n break;\n case \"ext\":\n ext = value;\n break;\n case \"phone-context\":\n if (value[0] === \"+\") {\n number = value + number;\n }\n break;\n }\n }\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n var result2 = {\n number\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction formatRFC3966(_ref) {\n var number = _ref.number, ext = _ref.ext;\n if (!number) {\n return \"\";\n }\n if (number[0] !== \"+\") {\n throw new Error('\"formatRFC3966()\" expects \"number\" to be in E.164 format.');\n }\n return \"tel:\".concat(number).concat(ext ? \";ext=\" + ext : \"\");\n}\nfunction matchesEntirely(text, regular_expression) {\n text = text || \"\";\n return new RegExp(\"^(?:\" + regular_expression + \")$\").test(text);\n}\nfunction _createForOfIteratorHelperLoose$2(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$3(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$3(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$3(o, minLen);\n}\nfunction _arrayLikeToArray$3(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar NON_FIXED_LINE_PHONE_TYPES = [\"MOBILE\", \"PREMIUM_RATE\", \"TOLL_FREE\", \"SHARED_COST\", \"VOIP\", \"PERSONAL_NUMBER\", \"PAGER\", \"UAN\", \"VOICEMAIL\"];\nfunction getNumberType(input, options, metadata2) {\n options = options || {};\n if (!input.country) {\n return;\n }\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern())) {\n return;\n }\n if (isNumberTypeEqualTo(nationalNumber, \"FIXED_LINE\", metadata2)) {\n if (metadata2.type(\"MOBILE\") && metadata2.type(\"MOBILE\").pattern() === \"\") {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (!metadata2.type(\"MOBILE\")) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (isNumberTypeEqualTo(nationalNumber, \"MOBILE\", metadata2)) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n return \"FIXED_LINE\";\n }\n for (var _iterator = _createForOfIteratorHelperLoose$2(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done; ) {\n var type = _step.value;\n if (isNumberTypeEqualTo(nationalNumber, type, metadata2)) {\n return type;\n }\n }\n}\nfunction isNumberTypeEqualTo(nationalNumber, type, metadata2) {\n type = metadata2.type(type);\n if (!type || !type.pattern()) {\n return false;\n }\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n return matchesEntirely(nationalNumber, type.pattern());\n}\nfunction isValidNumber(input, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (!input.country) {\n return false;\n }\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n if (metadata2.hasTypes()) {\n return getNumberType(input, options, metadata2.metadata) !== void 0;\n }\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata2.nationalNumberPattern());\n}\nfunction applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), \"g\"), \" \").trim();\n}\nvar FIRST_GROUP_PATTERN = /(\\$\\d)/;\nfunction formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat, withNationalPrefix = _ref.withNationalPrefix;\n _ref.carrierCode;\n _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n return formattedNumber;\n}\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\nfunction getIddPrefix(country, callingCode, metadata2) {\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\nfunction _createForOfIteratorHelperLoose$1(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$2(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$2(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$2(o, minLen);\n}\nfunction _arrayLikeToArray$2(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$4(Object(source), true).forEach(function(key) {\n _defineProperty$4(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$4(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata2) {\n return \"\".concat(formattedNumber).concat(metadata2.ext()).concat(extension);\n }\n};\nfunction formatNumber(input, format, options, metadata2) {\n if (options) {\n options = _objectSpread$4(_objectSpread$4({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n metadata2 = new Metadata(metadata2);\n if (input.country && input.country !== \"001\") {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else if (input.countryCallingCode) {\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else\n return input.phone || \"\";\n var countryCallingCode = metadata2.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n var number;\n switch (format) {\n case \"NATIONAL\":\n if (!nationalNumber) {\n return \"\";\n }\n number = formatNationalNumber(nationalNumber, input.carrierCode, \"NATIONAL\", metadata2, options);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"INTERNATIONAL\":\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n number = formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"E.164\":\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n case \"RFC3966\":\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n case \"IDD\":\n if (!options.fromCountry) {\n return;\n }\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata2);\n return addExtension(formattedNumber, input.ext, metadata2, options.formatExtension);\n default:\n throw new Error('Unknown \"format\" argument passed to \"formatNumber()\": \"'.concat(format, '\"'));\n }\n}\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata2, options) {\n var format = chooseFormatForNumber(metadata2.formats(), number);\n if (!format) {\n return number;\n }\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === \"INTERNATIONAL\",\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode,\n metadata: metadata2\n });\n}\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose$1(availableFormats), _step; !(_step = _iterator()).done; ) {\n var format = _step.value;\n if (format.leadingDigitsPatterns().length > 0) {\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n }\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\nfunction addExtension(formattedNumber, ext, metadata2, formatExtension2) {\n return ext ? formatExtension2(formattedNumber, ext, metadata2) : formattedNumber;\n}\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata2) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata2.metadata);\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, \"NATIONAL\", metadata2);\n if (countryCallingCode === \"1\") {\n return countryCallingCode + \" \" + formattedNumber;\n }\n return formattedNumber;\n }\n var iddPrefix = getIddPrefix(fromCountry, void 0, metadata2.metadata);\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2));\n }\n}\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), true).forEach(function(key) {\n _defineProperty$3(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$3(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar PhoneNumber = /* @__PURE__ */ function() {\n function PhoneNumber2(countryCallingCode, nationalNumber, metadata2) {\n _classCallCheck(this, PhoneNumber2);\n if (!countryCallingCode) {\n throw new TypeError(\"`country` or `countryCallingCode` not passed\");\n }\n if (!nationalNumber) {\n throw new TypeError(\"`nationalNumber` not passed\");\n }\n if (!metadata2) {\n throw new TypeError(\"`metadata` not passed\");\n }\n var _metadata = new Metadata(metadata2);\n if (isCountryCode(countryCallingCode)) {\n this.country = countryCallingCode;\n _metadata.country(countryCallingCode);\n countryCallingCode = _metadata.countryCallingCode();\n }\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = \"+\" + this.countryCallingCode + this.nationalNumber;\n this.metadata = metadata2;\n }\n _createClass(PhoneNumber2, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossiblePhoneNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata2 = new Metadata(this.metadata);\n return metadata2.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n }\n }, {\n key: \"getType\",\n value: function getType2() {\n return getNumberType(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread$3(_objectSpread$3({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format(\"NATIONAL\", options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format(\"INTERNATIONAL\", options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format(\"RFC3966\", options);\n }\n }]);\n return PhoneNumber2;\n}();\nvar isCountryCode = function isCountryCode2(value) {\n return /^[A-Z]{2}$/.test(value);\n};\nvar CAPTURING_DIGIT_PATTERN = new RegExp(\"([\" + VALID_DIGITS + \"])\");\nfunction stripIddPrefix(number, country, callingCode, metadata2) {\n if (!country) {\n return;\n }\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n }\n number = number.slice(number.match(IDDPrefixPattern)[0].length);\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === \"0\") {\n return;\n }\n }\n return number;\n}\nfunction extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2) {\n if (number && metadata2.numberingPlan.nationalPrefixForParsing()) {\n var prefixPattern = new RegExp(\"^(?:\" + metadata2.numberingPlan.nationalPrefixForParsing() + \")\");\n var prefixMatch = prefixPattern.exec(number);\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode;\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n if (metadata2.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata2.nationalPrefixTransformRule());\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } else {\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length);\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n }\n var nationalPrefix;\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup);\n if (possibleNationalPrefix === metadata2.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata2.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n return {\n nationalNumber,\n nationalPrefix,\n carrierCode\n };\n }\n }\n return {\n nationalNumber: number\n };\n}\nfunction extractNationalNumber(number, metadata2) {\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n if (metadata2.possibleLengths()) {\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n }\n }\n return {\n nationalNumber,\n carrierCode\n };\n}\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata2) {\n if (matchesEntirely(nationalNumberBefore, metadata2.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata2.nationalNumberPattern())) {\n return false;\n }\n return true;\n}\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"TOO_SHORT\":\n case \"INVALID_LENGTH\":\n return false;\n default:\n return true;\n }\n}\nfunction extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata2) : callingCode;\n if (number.indexOf(countryCallingCode) === 0) {\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata2) === \"TOO_LONG\") {\n return {\n countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n return {\n number\n };\n}\nfunction extractCountryCallingCode(number, country, callingCode, metadata2) {\n if (!number) {\n return {};\n }\n if (number[0] !== \"+\") {\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata2);\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n number = \"+\" + numberWithoutIDD;\n } else {\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;\n if (countryCallingCode) {\n return {\n countryCallingCode,\n number: shorterNumber\n };\n }\n }\n return {\n number\n };\n }\n }\n if (number[1] === \"0\") {\n return {};\n }\n metadata2 = new Metadata(metadata2);\n var i = 2;\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n if (metadata2.hasCallingCode(_countryCallingCode)) {\n metadata2.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n i++;\n }\n return {};\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$1(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$1(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$1(o, minLen);\n}\nfunction _arrayLikeToArray$1(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nfunction getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata2) {\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata2.isNonGeographicCallingCode(callingCode)) {\n return \"001\";\n }\n }\n var possibleCountries = metadata2.getCountryCodesForCallingCode(callingCode);\n if (!possibleCountries) {\n return;\n }\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n return selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2.metadata);\n}\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2) {\n metadata2 = new Metadata(metadata2);\n for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done; ) {\n var country = _step.value;\n metadata2.country(country);\n if (metadata2.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata2.leadingDigits()) === 0) {\n return country;\n }\n } else if (getNumberType({\n phone: nationalPhoneNumber,\n country\n }, void 0, metadata2.metadata)) {\n return country;\n }\n }\n}\nvar MAX_INPUT_STRING_LENGTH = 250;\nvar PHONE_NUMBER_START_PATTERN = new RegExp(\"[\" + PLUS_CHARS + VALID_DIGITS + \"]\");\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp(\"[^\" + VALID_DIGITS + \"#]+$\");\nfunction parse(text, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (options.defaultCountry && !metadata2.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n }\n var _parseInput = parseInput(text, options.v2, options.extract), formattedPhoneNumber = _parseInput.number, ext = _parseInput.ext, error = _parseInput.error;\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === \"TOO_SHORT\") {\n throw new ParseError(\"TOO_SHORT\");\n }\n throw new ParseError(\"NOT_A_NUMBER\");\n }\n return {};\n }\n var _parsePhoneNumber = parsePhoneNumber$1(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata2), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, carrierCode = _parsePhoneNumber.carrierCode;\n if (!metadata2.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n return {};\n }\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_SHORT\");\n }\n return {};\n }\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_LONG\");\n }\n return {};\n }\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata2.metadata);\n if (country) {\n phoneNumber.country = country;\n }\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n if (ext) {\n phoneNumber.ext = ext;\n }\n return phoneNumber;\n }\n var valid = (options.extended ? metadata2.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) : false;\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n }\n return {\n country,\n countryCallingCode,\n carrierCode,\n valid,\n possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, metadata2) ? true : false,\n phone: nationalNumber,\n ext\n };\n}\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError(\"TOO_LONG\");\n }\n return;\n }\n if (extract === false) {\n return text;\n }\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n if (startsAt < 0) {\n return;\n }\n return text.slice(startsAt).replace(AFTER_PHONE_NUMBER_END_PATTERN, \"\");\n}\nfunction parseInput(text, v2, extract) {\n if (text && text.indexOf(\"tel:\") === 0) {\n return parseRFC3966(text);\n }\n var number = extractFormattedPhoneNumber(text, extract, v2);\n if (!number) {\n return {};\n }\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: \"TOO_SHORT\"\n };\n }\n return {};\n }\n var withExtensionStripped = extractExtension(number);\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n return {\n number\n };\n}\nfunction result(country, nationalNumber, ext) {\n var result2 = {\n country,\n phone: nationalNumber\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata2) {\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata2.metadata), countryCallingCode = _extractCountryCallin.countryCallingCode, number = _extractCountryCallin.number;\n var country;\n if (countryCallingCode) {\n metadata2.selectNumberingPlan(countryCallingCode);\n } else if (number && (defaultCountry || defaultCallingCode)) {\n metadata2.selectNumberingPlan(defaultCountry, defaultCallingCode);\n if (defaultCountry) {\n country = defaultCountry;\n }\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata2.metadata);\n } else\n return {};\n if (!number) {\n return {\n countryCallingCode\n };\n }\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;\n var exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata2);\n if (exactCountry) {\n country = exactCountry;\n if (exactCountry === \"001\")\n ;\n else {\n metadata2.country(country);\n }\n }\n return {\n country,\n countryCallingCode,\n nationalNumber,\n carrierCode\n };\n}\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), true).forEach(function(key) {\n _defineProperty$2(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$2(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumber(text, options, metadata2) {\n return parse(text, _objectSpread$2(_objectSpread$2({}, options), {}, {\n v2: true\n }), metadata2);\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n return _typeof = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n}\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), true).forEach(function(key) {\n _defineProperty$1(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args), _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4), arg_1 = _Array$prototype$slic2[0], arg_2 = _Array$prototype$slic2[1], arg_3 = _Array$prototype$slic2[2], arg_4 = _Array$prototype$slic2[3];\n var text;\n var options;\n var metadata2;\n if (typeof arg_1 === \"string\") {\n text = arg_1;\n } else\n throw new TypeError(\"A text for parsing must be a string.\");\n if (!arg_2 || typeof arg_2 === \"string\") {\n if (arg_4) {\n options = arg_3;\n metadata2 = arg_4;\n } else {\n options = void 0;\n metadata2 = arg_3;\n }\n if (arg_2) {\n options = _objectSpread$1({\n defaultCountry: arg_2\n }, options);\n }\n } else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata2 = arg_3;\n } else {\n metadata2 = arg_2;\n }\n } else\n throw new Error(\"Invalid second argument: \".concat(arg_2));\n return {\n text,\n options,\n metadata: metadata2\n };\n}\nvar isObject = function isObject2(_) {\n return _typeof(_) === \"object\";\n};\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), true).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumberFromString$2(text, options, metadata2) {\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata2)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: void 0\n });\n }\n try {\n return parsePhoneNumber(text, options, metadata2);\n } catch (error) {\n if (error instanceof ParseError)\n ;\n else {\n throw error;\n }\n }\n}\nfunction parsePhoneNumberFromString$1() {\n var _normalizeArguments = normalizeArguments(arguments), text = _normalizeArguments.text, options = _normalizeArguments.options, metadata2 = _normalizeArguments.metadata;\n return parsePhoneNumberFromString$2(text, options, metadata2);\n}\nfunction parsePhoneNumberFromString() {\n return withMetadataArgument(parsePhoneNumberFromString$1, arguments);\n}\nvar clickOutside = {\n beforeMount(el, binding, vNode) {\n if (typeof binding.value !== \"function\") {\n const compName = vNode.context.name;\n let warn = `[Vue-click-outside:] provided expression ${binding.expression} is not a function, but has to be`;\n if (compName) {\n warn += `Found in component ${compName}`;\n }\n console.warn(warn);\n }\n el.clickOutsideEvent = function(event) {\n if (!(el === event.target || el.contains(event.target))) {\n binding.value(event, el);\n }\n };\n document.body.addEventListener(\"click\", el.clickOutsideEvent);\n },\n unmounted(el) {\n document.body.removeEventListener(\"click\", el.clickOutsideEvent);\n }\n};\nvar sprite_css_vue_type_style_index_0_src_5851b83d_lang = /* @__PURE__ */ (() => \".vti__flag{width:20px}.vti__flag.be{width:18px}.vti__flag.ch{width:15px}.vti__flag.mc{width:19px}.vti__flag.ne{width:18px}.vti__flag.np{width:13px}.vti__flag.va{width:15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-size:5630px 15px}}.vti__flag.ac{height:10px;background-position:0px 0px}.vti__flag.ad{height:14px;background-position:-22px 0px}.vti__flag.ae{height:10px;background-position:-44px 0px}.vti__flag.af{height:14px;background-position:-66px 0px}.vti__flag.ag{height:14px;background-position:-88px 0px}.vti__flag.ai{height:10px;background-position:-110px 0px}.vti__flag.al{height:15px;background-position:-132px 0px}.vti__flag.am{height:10px;background-position:-154px 0px}.vti__flag.ao{height:14px;background-position:-176px 0px}.vti__flag.aq{height:14px;background-position:-198px 0px}.vti__flag.ar{height:13px;background-position:-220px 0px}.vti__flag.as{height:10px;background-position:-242px 0px}.vti__flag.at{height:14px;background-position:-264px 0px}.vti__flag.au{height:10px;background-position:-286px 0px}.vti__flag.aw{height:14px;background-position:-308px 0px}.vti__flag.ax{height:13px;background-position:-330px 0px}.vti__flag.az{height:10px;background-position:-352px 0px}.vti__flag.ba{height:10px;background-position:-374px 0px}.vti__flag.bb{height:14px;background-position:-396px 0px}.vti__flag.bd{height:12px;background-position:-418px 0px}.vti__flag.be{height:15px;background-position:-440px 0px}.vti__flag.bf{height:14px;background-position:-460px 0px}.vti__flag.bg{height:12px;background-position:-482px 0px}.vti__flag.bh{height:12px;background-position:-504px 0px}.vti__flag.bi{height:12px;background-position:-526px 0px}.vti__flag.bj{height:14px;background-position:-548px 0px}.vti__flag.bl{height:14px;background-position:-570px 0px}.vti__flag.bm{height:10px;background-position:-592px 0px}.vti__flag.bn{height:10px;background-position:-614px 0px}.vti__flag.bo{height:14px;background-position:-636px 0px}.vti__flag.bq{height:14px;background-position:-658px 0px}.vti__flag.br{height:14px;background-position:-680px 0px}.vti__flag.bs{height:10px;background-position:-702px 0px}.vti__flag.bt{height:14px;background-position:-724px 0px}.vti__flag.bv{height:15px;background-position:-746px 0px}.vti__flag.bw{height:14px;background-position:-768px 0px}.vti__flag.by{height:10px;background-position:-790px 0px}.vti__flag.bz{height:14px;background-position:-812px 0px}.vti__flag.ca{height:10px;background-position:-834px 0px}.vti__flag.cc{height:10px;background-position:-856px 0px}.vti__flag.cd{height:15px;background-position:-878px 0px}.vti__flag.cf{height:14px;background-position:-900px 0px}.vti__flag.cg{height:14px;background-position:-922px 0px}.vti__flag.ch{height:15px;background-position:-944px 0px}.vti__flag.ci{height:14px;background-position:-961px 0px}.vti__flag.ck{height:10px;background-position:-983px 0px}.vti__flag.cl{height:14px;background-position:-1005px 0px}.vti__flag.cm{height:14px;background-position:-1027px 0px}.vti__flag.cn{height:14px;background-position:-1049px 0px}.vti__flag.co{height:14px;background-position:-1071px 0px}.vti__flag.cp{height:14px;background-position:-1093px 0px}.vti__flag.cr{height:12px;background-position:-1115px 0px}.vti__flag.cu{height:10px;background-position:-1137px 0px}.vti__flag.cv{height:12px;background-position:-1159px 0px}.vti__flag.cw{height:14px;background-position:-1181px 0px}.vti__flag.cx{height:10px;background-position:-1203px 0px}.vti__flag.cy{height:14px;background-position:-1225px 0px}.vti__flag.cz{height:14px;background-position:-1247px 0px}.vti__flag.de{height:12px;background-position:-1269px 0px}.vti__flag.dg{height:10px;background-position:-1291px 0px}.vti__flag.dj{height:14px;background-position:-1313px 0px}.vti__flag.dk{height:15px;background-position:-1335px 0px}.vti__flag.dm{height:10px;background-position:-1357px 0px}.vti__flag.do{height:13px;background-position:-1379px 0px}.vti__flag.dz{height:14px;background-position:-1401px 0px}.vti__flag.ea{height:14px;background-position:-1423px 0px}.vti__flag.ec{height:14px;background-position:-1445px 0px}.vti__flag.ee{height:13px;background-position:-1467px 0px}.vti__flag.eg{height:14px;background-position:-1489px 0px}.vti__flag.eh{height:10px;background-position:-1511px 0px}.vti__flag.er{height:10px;background-position:-1533px 0px}.vti__flag.es{height:14px;background-position:-1555px 0px}.vti__flag.et{height:10px;background-position:-1577px 0px}.vti__flag.eu{height:14px;background-position:-1599px 0px}.vti__flag.fi{height:12px;background-position:-1621px 0px}.vti__flag.fj{height:10px;background-position:-1643px 0px}.vti__flag.fk{height:10px;background-position:-1665px 0px}.vti__flag.fm{height:11px;background-position:-1687px 0px}.vti__flag.fo{height:15px;background-position:-1709px 0px}.vti__flag.fr{height:14px;background-position:-1731px 0px}.vti__flag.ga{height:15px;background-position:-1753px 0px}.vti__flag.gb{height:10px;background-position:-1775px 0px}.vti__flag.gd{height:12px;background-position:-1797px 0px}.vti__flag.ge{height:14px;background-position:-1819px 0px}.vti__flag.gf{height:14px;background-position:-1841px 0px}.vti__flag.gg{height:14px;background-position:-1863px 0px}.vti__flag.gh{height:14px;background-position:-1885px 0px}.vti__flag.gi{height:10px;background-position:-1907px 0px}.vti__flag.gl{height:14px;background-position:-1929px 0px}.vti__flag.gm{height:14px;background-position:-1951px 0px}.vti__flag.gn{height:14px;background-position:-1973px 0px}.vti__flag.gp{height:14px;background-position:-1995px 0px}.vti__flag.gq{height:14px;background-position:-2017px 0px}.vti__flag.gr{height:14px;background-position:-2039px 0px}.vti__flag.gs{height:10px;background-position:-2061px 0px}.vti__flag.gt{height:13px;background-position:-2083px 0px}.vti__flag.gu{height:11px;background-position:-2105px 0px}.vti__flag.gw{height:10px;background-position:-2127px 0px}.vti__flag.gy{height:12px;background-position:-2149px 0px}.vti__flag.hk{height:14px;background-position:-2171px 0px}.vti__flag.hm{height:10px;background-position:-2193px 0px}.vti__flag.hn{height:10px;background-position:-2215px 0px}.vti__flag.hr{height:10px;background-position:-2237px 0px}.vti__flag.ht{height:12px;background-position:-2259px 0px}.vti__flag.hu{height:10px;background-position:-2281px 0px}.vti__flag.ic{height:14px;background-position:-2303px 0px}.vti__flag.id{height:14px;background-position:-2325px 0px}.vti__flag.ie{height:10px;background-position:-2347px 0px}.vti__flag.il{height:15px;background-position:-2369px 0px}.vti__flag.im{height:10px;background-position:-2391px 0px}.vti__flag.in{height:14px;background-position:-2413px 0px}.vti__flag.io{height:10px;background-position:-2435px 0px}.vti__flag.iq{height:14px;background-position:-2457px 0px}.vti__flag.ir{height:12px;background-position:-2479px 0px}.vti__flag.is{height:15px;background-position:-2501px 0px}.vti__flag.it{height:14px;background-position:-2523px 0px}.vti__flag.je{height:12px;background-position:-2545px 0px}.vti__flag.jm{height:10px;background-position:-2567px 0px}.vti__flag.jo{height:10px;background-position:-2589px 0px}.vti__flag.jp{height:14px;background-position:-2611px 0px}.vti__flag.ke{height:14px;background-position:-2633px 0px}.vti__flag.kg{height:12px;background-position:-2655px 0px}.vti__flag.kh{height:13px;background-position:-2677px 0px}.vti__flag.ki{height:10px;background-position:-2699px 0px}.vti__flag.km{height:12px;background-position:-2721px 0px}.vti__flag.kn{height:14px;background-position:-2743px 0px}.vti__flag.kp{height:10px;background-position:-2765px 0px}.vti__flag.kr{height:14px;background-position:-2787px 0px}.vti__flag.kw{height:10px;background-position:-2809px 0px}.vti__flag.ky{height:10px;background-position:-2831px 0px}.vti__flag.kz{height:10px;background-position:-2853px 0px}.vti__flag.la{height:14px;background-position:-2875px 0px}.vti__flag.lb{height:14px;background-position:-2897px 0px}.vti__flag.lc{height:10px;background-position:-2919px 0px}.vti__flag.li{height:12px;background-position:-2941px 0px}.vti__flag.lk{height:10px;background-position:-2963px 0px}.vti__flag.lr{height:11px;background-position:-2985px 0px}.vti__flag.ls{height:14px;background-position:-3007px 0px}.vti__flag.lt{height:12px;background-position:-3029px 0px}.vti__flag.lu{height:12px;background-position:-3051px 0px}.vti__flag.lv{height:10px;background-position:-3073px 0px}.vti__flag.ly{height:10px;background-position:-3095px 0px}.vti__flag.ma{height:14px;background-position:-3117px 0px}.vti__flag.mc{height:15px;background-position:-3139px 0px}.vti__flag.md{height:10px;background-position:-3160px 0px}.vti__flag.me{height:10px;background-position:-3182px 0px}.vti__flag.mf{height:14px;background-position:-3204px 0px}.vti__flag.mg{height:14px;background-position:-3226px 0px}.vti__flag.mh{height:11px;background-position:-3248px 0px}.vti__flag.mk{height:10px;background-position:-3270px 0px}.vti__flag.ml{height:14px;background-position:-3292px 0px}.vti__flag.mm{height:14px;background-position:-3314px 0px}.vti__flag.mn{height:10px;background-position:-3336px 0px}.vti__flag.mo{height:14px;background-position:-3358px 0px}.vti__flag.mp{height:10px;background-position:-3380px 0px}.vti__flag.mq{height:14px;background-position:-3402px 0px}.vti__flag.mr{height:14px;background-position:-3424px 0px}.vti__flag.ms{height:10px;background-position:-3446px 0px}.vti__flag.mt{height:14px;background-position:-3468px 0px}.vti__flag.mu{height:14px;background-position:-3490px 0px}.vti__flag.mv{height:14px;background-position:-3512px 0px}.vti__flag.mw{height:14px;background-position:-3534px 0px}.vti__flag.mx{height:12px;background-position:-3556px 0px}.vti__flag.my{height:10px;background-position:-3578px 0px}.vti__flag.mz{height:14px;background-position:-3600px 0px}.vti__flag.na{height:14px;background-position:-3622px 0px}.vti__flag.nc{height:10px;background-position:-3644px 0px}.vti__flag.ne{height:15px;background-position:-3666px 0px}.vti__flag.nf{height:10px;background-position:-3686px 0px}.vti__flag.ng{height:10px;background-position:-3708px 0px}.vti__flag.ni{height:12px;background-position:-3730px 0px}.vti__flag.nl{height:14px;background-position:-3752px 0px}.vti__flag.no{height:15px;background-position:-3774px 0px}.vti__flag.np{height:15px;background-position:-3796px 0px}.vti__flag.nr{height:10px;background-position:-3811px 0px}.vti__flag.nu{height:10px;background-position:-3833px 0px}.vti__flag.nz{height:10px;background-position:-3855px 0px}.vti__flag.om{height:10px;background-position:-3877px 0px}.vti__flag.pa{height:14px;background-position:-3899px 0px}.vti__flag.pe{height:14px;background-position:-3921px 0px}.vti__flag.pf{height:14px;background-position:-3943px 0px}.vti__flag.pg{height:15px;background-position:-3965px 0px}.vti__flag.ph{height:10px;background-position:-3987px 0px}.vti__flag.pk{height:14px;background-position:-4009px 0px}.vti__flag.pl{height:13px;background-position:-4031px 0px}.vti__flag.pm{height:14px;background-position:-4053px 0px}.vti__flag.pn{height:10px;background-position:-4075px 0px}.vti__flag.pr{height:14px;background-position:-4097px 0px}.vti__flag.ps{height:10px;background-position:-4119px 0px}.vti__flag.pt{height:14px;background-position:-4141px 0px}.vti__flag.pw{height:13px;background-position:-4163px 0px}.vti__flag.py{height:11px;background-position:-4185px 0px}.vti__flag.qa{height:8px;background-position:-4207px 0px}.vti__flag.re{height:14px;background-position:-4229px 0px}.vti__flag.ro{height:14px;background-position:-4251px 0px}.vti__flag.rs{height:14px;background-position:-4273px 0px}.vti__flag.ru{height:14px;background-position:-4295px 0px}.vti__flag.rw{height:14px;background-position:-4317px 0px}.vti__flag.sa{height:14px;background-position:-4339px 0px}.vti__flag.sb{height:10px;background-position:-4361px 0px}.vti__flag.sc{height:10px;background-position:-4383px 0px}.vti__flag.sd{height:10px;background-position:-4405px 0px}.vti__flag.se{height:13px;background-position:-4427px 0px}.vti__flag.sg{height:14px;background-position:-4449px 0px}.vti__flag.sh{height:10px;background-position:-4471px 0px}.vti__flag.si{height:10px;background-position:-4493px 0px}.vti__flag.sj{height:15px;background-position:-4515px 0px}.vti__flag.sk{height:14px;background-position:-4537px 0px}.vti__flag.sl{height:14px;background-position:-4559px 0px}.vti__flag.sm{height:15px;background-position:-4581px 0px}.vti__flag.sn{height:14px;background-position:-4603px 0px}.vti__flag.so{height:14px;background-position:-4625px 0px}.vti__flag.sr{height:14px;background-position:-4647px 0px}.vti__flag.ss{height:10px;background-position:-4669px 0px}.vti__flag.st{height:10px;background-position:-4691px 0px}.vti__flag.sv{height:12px;background-position:-4713px 0px}.vti__flag.sx{height:14px;background-position:-4735px 0px}.vti__flag.sy{height:14px;background-position:-4757px 0px}.vti__flag.sz{height:14px;background-position:-4779px 0px}.vti__flag.ta{height:10px;background-position:-4801px 0px}.vti__flag.tc{height:10px;background-position:-4823px 0px}.vti__flag.td{height:14px;background-position:-4845px 0px}.vti__flag.tf{height:14px;background-position:-4867px 0px}.vti__flag.tg{height:13px;background-position:-4889px 0px}.vti__flag.th{height:14px;background-position:-4911px 0px}.vti__flag.tj{height:10px;background-position:-4933px 0px}.vti__flag.tk{height:10px;background-position:-4955px 0px}.vti__flag.tl{height:10px;background-position:-4977px 0px}.vti__flag.tm{height:14px;background-position:-4999px 0px}.vti__flag.tn{height:14px;background-position:-5021px 0px}.vti__flag.to{height:10px;background-position:-5043px 0px}.vti__flag.tr{height:14px;background-position:-5065px 0px}.vti__flag.tt{height:12px;background-position:-5087px 0px}.vti__flag.tv{height:10px;background-position:-5109px 0px}.vti__flag.tw{height:14px;background-position:-5131px 0px}.vti__flag.tz{height:14px;background-position:-5153px 0px}.vti__flag.ua{height:14px;background-position:-5175px 0px}.vti__flag.ug{height:14px;background-position:-5197px 0px}.vti__flag.um{height:11px;background-position:-5219px 0px}.vti__flag.us{height:11px;background-position:-5241px 0px}.vti__flag.uy{height:14px;background-position:-5263px 0px}.vti__flag.uz{height:10px;background-position:-5285px 0px}.vti__flag.va{height:15px;background-position:-5307px 0px}.vti__flag.vc{height:14px;background-position:-5324px 0px}.vti__flag.ve{height:14px;background-position:-5346px 0px}.vti__flag.vg{height:10px;background-position:-5368px 0px}.vti__flag.vi{height:14px;background-position:-5390px 0px}.vti__flag.vn{height:14px;background-position:-5412px 0px}.vti__flag.vu{height:12px;background-position:-5434px 0px}.vti__flag.wf{height:14px;background-position:-5456px 0px}.vti__flag.ws{height:10px;background-position:-5478px 0px}.vti__flag.xk{height:15px;background-position:-5500px 0px}.vti__flag.ye{height:14px;background-position:-5522px 0px}.vti__flag.yt{height:14px;background-position:-5544px 0px}.vti__flag.za{height:14px;background-position:-5566px 0px}.vti__flag.zm{height:14px;background-position:-5588px 0px}.vti__flag.zw{height:10px;background-position:-5610px 0px}.vti__flag{width:20px;height:15px;box-shadow:0 0 1px #888;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAFf4AAAAPCAMAAAAsJ+pWAAADAFBMVEUAAAB/U1dILHgLN5L////OECYAAAAAJH3tKDj90hXSDjT/AAABNpb/zQAAK34AI5XQFCvvKixCit7eKQ/+3wPCJy0BlUMBn0rQJToCd2DuGiPkHR52rtwgRYzUKx3pDS4AYTPGDDDjBxnCAQPpAA4DAowBbML6+voBKGXbAgcDUqYZigICeDUAaU3/1QDbEh7cIx8AHaXlZG7NCR8BMKQGMIQDakCvFCvaJRr98/GOosMAbTLosrgPrioANqvx9vZXc7MAccsCaKgDn18gtTkkSqUAI4ICot4BrspNYaBLrNf3eH775ORzq98ormartMzWER7zogbFDhufMzwBhlHfMzkRDAr83kgBeUEAgTwAmzoLRq/IND0GiTDCBSXdTSECgABYWVnsi5QHP4QBZQBjtOXz0tXkaBjl7PX+wwHDZnXIzuBIl9DcEjn/zyKtxeL5r7ABPxo5fc4ypjIgXDg6gzsAf/8BHJAFlWeMGjn3PjXQAgBzhrb6fAHk7ORZUoHvzBmq0bj96QNmzf/JsBkClsAVtDg2dR89csb5uBHwP0nM08nrjBgGUpbS4unVhpABHnr43xOqq6duel4ei0j5xcbKPljCwLjLqLSrlBFbl7FCCAg6Xrm+gpYmHkrngYFpweXroKfhwhICW7zUcX7vV2LhTwb9nJyHK1EhoEJldqA4WJqOgZUEAWXWJyn/UBGHm3UIKH1pJ15UroXcUVUFLpGwwA6LiEVPrFj8mTNihC5KecDEUl5ZqjTGVB9IWWqJryC0tDNwXxVrw4kLPnZJhnPy3o5JUEB7DBGJr95CbU1wiM3cdgWmW0E/mQD8FxhaRgYsJgsAmgCSeBGrCw7B1+93opo+RIIjd7ihNl9om2oBGl3Qokn98kJmLUAYGJaWy+vf0hS3vlb0JSqKw6GbPhkWos76sGYdbZ8AsWUBULwCT/G0k2E7KmzFeBwdMnz46rzQvX0xS2Zck82mxnAXH27gykAgUrYnlSmDuVWIQDMQTCUzr6oIKnROksEhguycBXzUAAAABHRSTlMA/rFGbqhDHAAAReZJREFUeNrUnQ9cE9cdwM8tiNDqaNUOW7FzXRdnO3RQ6kjZwtrJmpqKyEC7Ohm4BYQp2Oq6tiyCS+sgKWICBkREGPgHmEKholQRUEBFWh0K1rFVLU63ISA6V5m2+713f97d5V0S0P37Jrm8i37C5e7de++++eX3mMI8XXZiYlh3YV6YJw/DfAtTt24SsM7ijWGY+4CvPfPkM3Dnb88wzFhMwWOY9b/HMEzBWAcKGIW/9ggFhvkGBYbxoMAwr1BgmBcpMMzv5Gzdmcgw4ygwTGKe7vHa2sevluY9LsAwD1JgmJmYkpjdae/M5GGYtygwzJe+9KXQ0LVp4zkOfQlgGE9EWOxKTGwYt3e+SYHb69E3FyHe4Lb2AQoMo6LAvWoo9ZXuR5W6KDCQvBAYWKSG//tDlpw0LwJ8BsRroSrMvHEY8RH2EWCYRRsdYZhpFBhmDgWG+REFhln11vMOMMxKwGslAVZ+xe2dHeUzkjLFe2fq1BclN3RnmLjiTUvkMMx0jqUAX2bPig+DVRzBH6J1hvnJT5744ImfSGGYX8j5rCeGYYKCgoaCgJ3e3juDOBjmIRGvLsJY4K9JYZhfYS6rMIefw8hOtGwAV6XvIp56X1YVpmDaPDAW/vBOpMAwXgSXVWECBYZ5feA9BxjmfgpK73D/lBwJB+GhVM3LE2ivjqWA95lnYmIQ7LPkpApdUnJFeVI4w2Rt+5kDXFVYGqcKgYpAqsLTHGs6K1v4MsPM4ChXqYoChVPtKzxPa0VbtpACw0yigJqhnzvclBrIo9RP7B1Z/+l3ZChtw48pKB03FUIzIchPRcCN6YzExBmwf7cJKHUJUylw7/viR+MqREdVqfY9R4FhAnITQquzPbPDfX3D4SlIlxhg4PZZTAx5AKRGpdx3Xwr5a3s/pe0H/t8DHn00gC8rHQsVT3CwpEEmuHoH9jnGC3PwlxiGCQt7LXbgNVgeGoJl2IANlgyT84EjDPPss2fVU2c+O1OM7FhU3+GOxc8xx1SYY+waw+x814GdZMuk7UPb4ZrnviyD3sIodbnfowCNIQU0ePmSw51hfCnwez35WUzTeIzSXseb/VCNCnP5Vxil4+ZDgWH2U6C3O0rbsIsCdxa2F0Ul3U/gOhB+e0v5T7wiKleFUAcHq3EhN2oFw4z33/vqj0S8utcf9sNpyigOfWL329RHKTDMUxSET+wzzWdaDPnEB0tWOoCPBWHX3s5o/NdmUlDa3lXPvLRYjlJr9Pzt5x1QOkIPU2CYX1NQ6t8yTKaIiIiMCBEZbC9y1VcKquvyqo7qegYFpSFuJAWG+RoFhplMgWGou+FlTIs/MH5SzPTp3riD7G9woF+pAWdXc98QQ+tw/MZAUxKxLuJNxPjx+AlWoSl5G3PQCxPDb9l4CvxH2/kOZif/0aZQYJivc5wtLw/lywzj5+dXkaqDZUKCUIRunoJSNVMFG7iOwdeHR+mweVMgJ2F0QUE0X+auIJ6u4XqoQG4/oCufrb9D1ApAs079xEFiJviFB+C/9l0KDLPdAYZ5EmNUYYzsGn9dwW1XDbsGe5cC/apAaUz/hS8yYiZQwIdgRmkpGo2QyxqlAzNrdtTs2WrKJRR/uESHYBZiQQC3sxfgVaW2ooD6atI/nqLsVhWg/ecqCUptW85w7oH1v3xLgtJnm+tx39fkKI0Xf8rxNUl/+wIFpYs7FSZv5+sinF4/hMXKTt8lFJT2ww8oMMwzFBjmr7/561/hQdCZTAyzDNO3CLF/NwuMZ6gnHz+IaHqWgE/fzEyH07cwJNQTjsXaDXmeAvRPQa/kSv/3+xSU/u9LmIN/xMQ/glGSG2soQLMQTaslzd9xBDoECgyTMnuWDOWzZQsFea3O9kQo1fUZmLbxmJjpGKXa583SJtUu9N79TQpY5wR5CoTdYbehIGa2Awwzf35dR2LffAlKvTASNyGwqH2MwDBfpcAwRVY4JLEhxOkA4r2zWYBhHhcg57e0Rr39/UbTKXyMf0tBaQy4luOACKVXVRSQRPszRaJNYmkV/tv3gLNCa572HILe39MriNKf/zYFOJBzVlAaAVyR5gmnPGnKPCsqPCdMqBYfhrkU6JVfacsWL/6lOTczSgLDPEGBYazrP3B8VVeZklRaWpir0Xm6rX8JyvrXg2sZTgHckMSDkf217Ox7rX+vH3vRTf1L1G+xIcSoNMjSVe5ICghA2/s4oNPx+rf9+l3r39fat4D/levfMIn+Dfu36l/AECDdj/uMKkNtIBK/eFFrUBn3jUz/kiMMY9dAeA94Qlp5sHXRonuif3ftEopoL3zzLYr+9Vq5cSXcvVZ6ASCCM/bscaZ/4Y4eQpFhiqn6dxmHLlWj48si/ZuSIta/H1zYu1fwvx98IOjfzb8gfH4jfkEgGlzbTEPO9O8u9jjvn+2m/pWeaNmhQDarf58aof6Nvwv9G0QBiZGd793vrv71002QgxoniQB+qekgRf/msp/tSEWym6qC7LNwXWp5UnJ5uRUeqOqe+dnPXhTf/lP6d6kL/Uuxv4r6d+HpaAU54yNTwArbQPTvlCmj1L+kTm4TkHUJQYBU/54/f0/1L+je3KzQalb/BrFrsM8mx8TExMeTR8xktsfV7yD6d4ce/7VJFw46078PPOCu/s1NjIxMzL2n+neoyTYAy7o6WAbZmg4h/fu9T6n6dybSvzM/mypCdiyy2/6e7UT/vjvBgXeV9O/So3Wt6Yfnf/khl/qX1uW61r+zlkT6kBaRYn9Z/btEers3+redwoj0L73duff6dwkrDPVlXy3To6q9fz96wqsMcyrfHwlgIn/980+hT3G64D+sf4FpFstuvowuPBvTVmaIb3L9e9B0kvtroRTY7TWb0ZKU0Pb+c7Ec+QB1wI8doN6+dc/07/nzMv075Cnv30zf/Gbznj0R/Zde5+mPgF7kiO5Ot0EKruu4hpPK/r+nf/1B/3og/8swDY850DBi/TtXKn9PnEDX3xMz/Lcj74ss8Hb/jIlvvjli/RszMv17tvKytepy31mx/tVoeP2rg6KS/pVWM/LtvNpg16vvhf4tOFoAd6J/n4YbRf92Nv9uaxtcBJUW8TDMikgF/XvkCG9/Q/OivIn+vb/bbwT615j1H9C/7+78gkv9iw9BYSEcgrUi/Ss7/7u7Of1bW1w7i6p/1WoH/bsAbmL9u0BZaI2NnrNAWPXx4V4dDD4G4/S70b8H9pkP15XDleaVK1dsV660XIGi9LOFec74O3t5+be/vUs5033mRP9v69+Oe61/f3vmt39FDw5dk6l+NXfJ17IIUbubA6rzalA/buvfeSllZY5iISWrtDQP+nyZ/lUnJan/b/Tvyy/PoNSSFc3u61/48nkWMJvcR6Z/5WesRoeaUsmro9e/vnerf7Mrgnj5W10Xy27D2FP9MTT9a+urA/1bI9W/X5XfWP2rD5isd0//BgbY4URuy/XxIIj3zmaOJlb/frxly8fK+vftg+h79lHr37wQgtKrKrXRbFarko+JAIn2AtK/t13r36+7qX/lFQSiZZzp39myG9a/+c0ggN3XvxVBQbq71L/6lNyQ3JCQFEDNfc+3ePEPew0BzvTv+uYP6tc3r4d3SKrfK4fJjPKN8vGBRVQ17IUjR8Jc6l/ADf3rc5q1vyebm0+y/ve0DyP5a9XdOl13tVj/esD9rvTvddACWcd+7lr/EvWryus4ejRYaZD1IQByD3gc8TGnf68nFl53U//+mQMq7J95oJJg/9t+aLlM/05QjP5dHRkVFbn6HuvfYiRoCWjAfFirKvYN9A0IgEWxSnv47bdHpH/JEc708ZlcmNhROBnrX0wwOOC0u9S/BzduPEj0L9oHUxz1L4n6XdS6aOWi/XuU9S8nfSU3htkQp6x/K9LT7eb08Aq5/k358MMUkf7d2/jEB43gfJ94Ai346N/PP7/58895+9tl+XZgIOhfGOPkH4EWAulfMj6l2F9B/37yxidU/VvzHEZ6ommg5anQsPr3H+0vu61/t0dsh8X2UetfLQWkFBb4FqulKGlEz9Bkqv791nexAH4pB9F0sOkluf4d7BlkP9uyI8tStW6qinFRvnDZ5Qv7LDVV13JuzXHQMfh9E86PNPq3IXGU+ncphbuP/sVKt4AqZ+Ca+pNHfUUKmL4Ngv5dDF3UzMVy/XvI7xDcnetfsn8zt2372Zi6ujE/A/0r7YCmTv35K9US/ZucfE/1b3YYq3yR/mVL2dmwz4ZzmjZu9IK7F35qyhnGPW5w2Yc7eP2748OyYKx/J21sdKJ/LRZ39a8hsqMj0iBtkPVxAaUh6lHrX1tT/tBrr8U2NcW+FjZQ11SH9e8VxejfZ59NVomQdc/lW7fq3NC/ngMDnq70rwdoxPxFxADL9e80oUTpcl3r391n3z2km/1fiv79LgVB/3oEutS/Su3OvY/+5YU3XHHFqVX6mBi9Sh03KyqXbRFZAUzkL7QPsA1IACvp32CDIdihTW0bGx0NCwf9+8ADbupfYNo0D7H+/bTe5Cz6txG2FQG6+hNM2RufiMDbq42Ntaow1libmt/eVc88KUXWGgVV9QWx+vfw8yy3a2rIMGMBBZf6Nzxcon+HOps7h+T69ytfQfr30uuXLl3q729AGtgCvUi5tvvqJim4L5T533ujf49SGI3+nVRiKilho389xPq3oWHU+neuJvUdsfy1XGavv7dnWN58Mz7+zTctGSCCnetfPO728kIlQf8usYxI/54ttEL071mrVdC/QLimAulfXEytkOjfZ54RitJqFnTlnStXglA1M9itdv1d619sf4/CvcBV9K8J7v7gf0PgkhLfQtD7Th+i6d9DdXWHsPxdpinyBlbEsU1f7Lr8Sfnu69/ew/8J/fuoLwQAu9C/mZkxvnV1vjGZmeKeKlNoi6uR/vXLZvVvQFEUNfpXm5ysletfZH8d9G8gBXy4js7yYAnMEP3qSNsO/pcN1hiN/s01a7Nyp771Vkv9lCtDq69MOQ7+V1LpquuzDx0aWM3q37/946M3pKAe26NghPq360bvf0z/Jh44kLhpxPr3ds1tTv8+TYn+/etvj0nl72pO//qhy6/LMbt58DsMu61/M/VlmWVEB5HLZF9fWGRCPaseGqrm7VPSO+8k3b3+fVtB/xqNo9S/5yiwjfwfoqVAE7Ki+fuvylDUv/D98yypAFbUv1UUZE3pMlssih+R9eN+wGj0b/Emb++OehEQrUyBYXZTYBgIRc7O9qvGetGWVhLG6hwwFp37YyjRvwcONCD9e9h19C8Wv3qa/gU9LNW/EMKH/O8pcxQxPWJJsxlTVcVF/4YmJYUq699G7nv2k0r6N58CEb0bRCi9qjJeM/XYVe3SkSGo33sb/Su71BkCqtkTsLV1UK2Cp5vBsISgxVakf7HzRXdSggN5Mv8kCGB39a8OqiFd/24JBba4o3+L4uJSUopTDClxnP411UPQQktWStTuqBil6N/mzhOdzU8gs27oy1guhdFpcgtLS5NSKnUQ7KAbWjt0RKJ/N26U6F8gXYpI/y6URP/6HMX215SWZsL+96iPByP5a3e0lwe1d4j+PXoaDVpOH+XboasUxDsnJkaif6/Dg71E1R5zrn+J+gUMly4dzdPSB1ns9gYEJO2o1KELUXikYv3bfiCx3Yn+Ff/y8CMe60cCUEkwW44NLacmf0hLk0f/rh6HWT0K/aulIAhZWfQv6jjSVcFxwUYjLFTpqB8Zmf4lR9jHZ4mqdIlqExrCnoqtNGtRBQ6oNYAD9hqt/t2190JdXcneXUT/AqvO3RCD9e9GHPy7stWYkGBIecOZ/iXWl70DoH9LFfWvX3p6761zvelmP4n+zd2x4777duzIJfp3Xf4F0L+Nez/A8veJRqx/u9K80m7weR+2wxjw2xaG0XBAb7OJLzOMo/0l+lev0juP/iWHIVtXkY2+h9Rlo/H6MdX7buvfiHW/uqvkD8EUQIx4gBTZlKt1R/9OCAqq1lVT9G87igBe09TE+t+bB0X693LrYKulR43L+JAd0SW5Gf0bzu+z8HBNy5o1muTwcO59IQOEO9G/azjmTJ48hy+70r+r/xRnIFsWT0Ho6PzzS0wmf6J/KShdaCwEIq1ApVUAyZk3gPg3HgV4Bay0DXtZXp7b0jL3ZW6FP25PHfKDS/FDTznXv6ROgv7t6+/vB/0r7RKqz2ZlEf27bSrPtnumf8MBQ7Ferff11eeGBGvROnQqEPKU0+TF0ZQzZUok2+OmZOp5/avPhAXSv8CFV++B/k08OmfO0USJ/s3F15EBavIOgRSU9O9rr71mG3oNiD2ElgN1sEBjol9S9G9CQoJKm5Aw9awI6bHwnNvdPVDtVP96otvA5s0DuMjr3zk+jvoXzvmjJ01eixa19tY856B/i4uFolKXm4w5f15YAmQwXltWVsuXOSXGGTES/QuOI1fyAO6F/v0NBV7/Tj6wwe67JNGF/qW3O/Qjf5jCyKJ/oYylb3BMTDASwbwM5QUwL39Z/Qv+2mNOolWEUH9DNk2fvinEQf/GRkbGOujfBywRERZeACt18R4clrQ0i1j/9latuWWEZBUEkf591dQcba2Ev9UcwarXB/TF6rKHCXh7K2Nj7SpDHLS0dputUtje6HQpsjNg4PjxAWn0763lJTWC/v0TBYaJ4ykqEooi/RsbKxTx976mJpMT/XsCYoAvcfp3gBr9S0FJ/2ZSUNK/Y3lOkSjAUenf5oaGZtC/3pLo3wbM6PTvOxqVNvR+zLIx/Sf2twar+PCr7Rb0bbUFy183on8XLZJE/8ZkKOvfnDVrcmT6d3Pf139r1Xz961XXif7VhSeFIv0rFEXdfH7+ar4srWbLnp9y/PkgLvo32DH5w04K2E4MiyveMNG/0UcLFvr4LCw4Gi2P/tWb1TL9m1/SJo3+9QZiKfrXlpZmQ/a3Iq8W/odHrX0+vrYZs25d84V1+R8JONe/WftqjO7r3++NVv+uWLHiIyKAwyiwh6CwEB0CLwHpgYFzP7u7G+vfqG9EzSqTwgYGXLmSQNG/8uhfpVYBXzhzX3nFZLD+F+UAGRwMztrylEL07z/PudS/w2vM59avBf3bWT+lufl4Zz3oEslnu7N6dWx9XR3Wv4gHE9Ri2HM60iqF178/+WD7h4769yIaF/US/RtA4Z7p347+/o4RR//++VZJjRD921KT09JS05JT0yLo378ek8hfQf/2kcQPQG0c+w7HQ6Qo6t8yfWaZLP8D7vPzSkuzcD0La7pwoQlf6n/22Wehycmhn4lxpn9z5+3YMS9F/InfpkD2jsFqNYxO/6opoEZ+7ssvbymcVwRImpB4fwff9g8K7GikCGtfgtLY5wQFSa3OnnvW1nJ9bran9DwO61kZ0RM2Yv3rG6I2BHhbxJ/EaSwdEAyQV7PRT26R/g0bMvn7m3j9C4r8ZBoIYHn0b0dHB9K/6Y7Rv18bN2/eOHH0b3CpQvTvuHlFmVL96xHoG7IV+gR7reB/xXtnM9B1sauL1b8ft6tU7R9T9S+YoL350bh7yb+opH/XUSCit3QDQelVld1kMl3TahNEMIydglj/BptHGP0rrSBB69dUrQ/i9G9JSdqiVlWr/6AKYhVLSlj9y4nf7ds5BYz171gigN3Qv8j+UvTvltDU9tD3Q0Pb21kDrFT5ufqlhoVKrWZrGXi1/sbFXADwbvZGS/7QDA94h9b4XOtjshwLeYXdYYmJ2bq8Qrj6Xlu+urxapH/Tevr6etIE/UuynBKI/p0M7TDRv/D5CtAVhReQf4rt5RjJX8sGtd7qKdK/BRhB/z5FQaJ/I+LF+vf8+VdeyVJhznD6N4sCDHv+BOpXr+Iw2i9dshoZZh4F2N7Sq48fOPC4Li/x8cfDcTASl/yh3bGFtGHSYnaPtwmQ8JfiR8fF8WVe/743t/1QmkT/hiH9a0rr7EwzSaN/I6EWQY2KHIX+/SUFrjqFRHnI9C/wnX1G6KDzYNfs+w6sjlD/whH2xEc4EfSv3VYefgANYfHGbh1TmFdcDFctbBywkmdKpMDp34Pr6rKBunUHif5FnLy5iECif728WhMGQ4rj9gj692Hciz4s1r9yXCV/0KSbq87VN0P8r1j/qufd9+F9cJ+n5vXvExdKLoD33Qjqd+9PgCfY5A9Vk26SvA+BC+JvfC5yR97eIndEsb/u619yomXrgjyBIKx/n3q//R9u699fWe4u+pceb+fjGxLnA2PLAcfkD3732+Ahyf3rGarVOepfYMt3v9XXdLAxB2hsWiPo39ZWywkgWCXo3yPLjvhpJJEbSj/WyduwNqi0NCg0pLCiQtN1qKU31a+Cf1/1GXeifztZGiZ/tHNyA7dC9G8q6F8PHxbhurDNezgkl2+NuL5qecny8SKEji7N1NxsShP071YKSsPuhYglelAgZLSIGqf4Ry1vPBD/KIdPZPOnzrehaa4NmNvErnHHrdv2FJbAtm7uuIUiKiYELQsl4Dp5B3L/Qp0E79tbWNiLkj9IO6CpNttUUfTvMfJ0j/SvLw+E+PCw+hcLYIsFy19O/wLBJPkDFHn9CwHAbunfGArC/w34xmOPfSOADCHJZWQceYcACkr69w9/+MNWeMCSe4IH/kp83y0ZWKeqsiCy+roI2bE4FBsb+wex/jVqjVpp9O8duJffvl1+RxT9ezT6tEdMmhh2e32WFjRDB7KSDwIm+rdWnzKRh97lCmdhlgq0dZZaPuxOmUcugrjoX6AdBlV8WWHgTvSv7srd5v7NynLI/euxJHBDaeImD/6cv0yB3u4oHXmtmkOvl3159p7b0b9syoeAuLgAyPtABnGsAB4/HstfXv9uqkWHrjbXcZ/lsinwuX+BT8GRWFubyJeF4Y/F8qtfWSzcivBDxUe/umnTV2eJIlUCPeAxDYZEadPYMtK/xt6D+8ABqyXHTRz6G6u1R5/Kt+xm9e+8eQ+Upcj1L8T8qkKmw+aGgAm2Ev2rVUmQngGeYzoaxkj07+2Ly5fX3GbLpF3XJSfr+DKpD+qa+UKFIPr3fHT0eXH0b3Xb1rYJyvq3P+JE/4l+rH8HBgaOdDtE/yZxnNFozvBlhnmaAv3rWKVXBfsbG22Lvgv9mzbm0qUO/5jpKPsD0b8gb0Dg3KX+XRbbb7k8CAounGH8l2dEWE5s3x6/bl389u0nLBEZy/2V9O9ensFBoQgfLSb+RPw0Bf37Q1BFcv2baj2bpNUmf71KI+jfiuSkcA3Sv1xR0L8o8NdkwgWEpJqB/j3bAvpXMffv3ylgx9L2EiJnPn5qw1do3CUUB7tGon+D+04WivVvW+fW3/1BmvsX3nf3Cu+PuiSw6clMtqAJQalxK3AP1fvlhxgGDohl3bqTJesuRImOULwDRP/27ss57Er/qjm00N3wZfpVgXxMT/RvbdmKFUIGCBsF1OoeQrl/oZ8hlzXSA1MJ/jeoGutflgXCDWDVVXi42kH/ypI/wCppFVoDLrfKLp1xAohpGRnw93ez+ndw0cpBVXD4P54iiPRv+vFVq1ZbVzvTv+cOGEqrIOK3qaSlZHl9SUlLo+0t6WcbqrPZVsfy+hc4pnZMOhWlV4nh9O8Hnc0TT2yX698bkxAXBP1L2kEzyWZwL/TvTiDyQE9Pf6T425BkCg7RvzW3bvP69+ne9Jqu3t7ervQuafIHIn+x/uVSP8QL7hfOUE4g52SpxDiL/i3LDBgnBvf5cCw8Q7EIqbKmd+HkfDOB1NSZEpQqeTIQ8Mm8uAfKxJ/4MAVyLOz5+Xa39e+LL4rkxiaeAweEIjTyc5vqoJXvXir5gbY353+XNzcvxws8pkrgMRqFIs4KeW0wZTcO/8U3KCmNfU6zHC2I1Ycs4VYktXqguyK14p3uAU/Jq6B/958Yhf71DgjO9Zbr33AKZP/qg4P1ZP8KWX/r/OFN0qo5/dtmjB17yrRyf4ws+hfr3/m9lOjfstx5cYYybgX32LnFYAId9W9mcAp81SDRv4BPLvo63so1/ETDecLe2czR5Sr69+2DfOiv6fAPlPRvBIclI8PCl0eY/MGM9e8Z6XmsoiDWv9f6gsXRv+hO9G8+BUkFAf17jte/2P/6p9lvmq6Fp/kj+8vq39notiAiYsFsVAJQ9G9n89hmJICnC0j1b2ZAQCZbmaqrqz11Ok94kuvf0HZYVFTAoj0UrTv73sxsNialAklGIYNZdKdpDQjgmqwd8+YV4ds8pdy/uTFeJ4qMfyoQw6Bft8C2ZaMs1R2VGk3lcBjRvzdreyyWm+7p35gltbVLloj175wZR4ZaqoCWoSMz5qAPLPlr2fbWQXu2WP+OBdzWvxaLT8Rukf79OQpoYsl6BSE6K69dI2elVP8OXlPlXdIqpl58nOc1vPz4YydTv0WwRO2OIDjVv0Ao5P91iP7txEijf6NA/gJR7unfPXvc07/64lq5/gXePsy5RAj9HbH+9Zg+3QeYPt0X9G9iXWwHjv41dbIR4AUFfxqzies26V8WKR0J9KPUC5PSQsvL/e5kl0D8nTP968XdVi4yGgKK9XsATvDnQi+6Qyz4wylw+tdXfOP1r1+6vaenqmp42J7uJ47+3XEfZocQ/YuFL6t/uRQQWP/e2HzxcyHvw/aez37xCxf6l9hfuv6lJ38gJ1q2Bvc71RrQv/j3ZMr6d/duee7fu9K/dIni4xESF0jXv4f8IIRUNvVbRaqf/PL4u+2C/m3KOXjwYA6Z+u3yCUxPq6B/j6DbkXLxUE0pr0y5nyZJVxEO0y+FJ+tCzfaK1CSuazdwGSBeRHeAS5CA9S+BYSpZEicvaZucyK2Qb6ESwu16g55F0L/ew09r9Wphy5Yj+i/1ZywnCB1dSdO5W/lE/46lQP8mmte/BtC/xRL9u3+cBcJ/H+VY8VH5+863oellnc2me5noX4wfeRJN2YeChQigdH/2s20ALGFRWlsWAAVpl+DZ3td3XZT790wyWiaf4fXvecSDoH+nnhdQqn1pFBT17+uNjVOA2Ph4iHzi9e8OjrL77ivjy7AfNsJt0qS9n65fL9K/ZRzjLJZxfJmcLRvz8zfyZRL9WwBIon+LPbwxvsHCq6kUFPQvUTYnobHlwGOiB7WoPpjNovowk839K0n+ID0WA222c1v/EEb0r9o+aLZrRfoX53y4k6pJLb9Don99jsLl7PCXxXDbizNAeCHAAPfO51uYouIifbHeEMCuKXW5Koz2DNK/Z7Ry/VsGB0mkfzFf+lKW1Zr1JbC/7ujfK1VVV+5K/yacef/9Mwnyqd88NpmL83iXQ7YhKzycqEHFdgdjTED/3yj/xLnFxbnkHbYgjoH+3UJQjv7lJ3zDk8C51r8ATf8eWIo5IM9afnTTpqN8mR/+PBARAT4z4gGZ/i2cVQh34VIlqbg4CT8GB5OSQtgyqAztmn2gf9fsMztG/76Kc9FF27Y2m2L4vLtxuQ/P00v1L2A3amF07jPdN9hoVinqX9kAtdxqLc8W6d/bt2ou3oKyVP9WqMFxVMj1r7oXLuUc9W9lc3MlX8ZXBSgiRIJY//ZnoDb4BNa/SYBBhqhWV1YKRSX9q6IwSv07POxu7t82W2ynY/RvT11dz7RRJ39oR8kfQP626iHVW6jfeyPTv99H7AO0WrTEq/DRTlhORMTQ9W9OzpSsrCk5P5To3/Lwr59Vqc9+XaPj9G9FRYUuNTW0QqfV6rhiBdfNr19PHoC0mi27ffzJ2/zF54j1b056jkj/elAQon/Vhr4xfVpB/24VKBaA9329s2HOijnRYpD+PWKzHZlQAXO+AVF5NdCwCPr3wroSsf4NZjFcvmzgiiL9m5NTo3ahf4WdkJQU7GpmVPqY/t0AvSouc4Xvzi8K+reuTq5/l8N4wMsLFiu9BCQHRjz1GwWySe7k/hWSktXW7m+VtLq2SpQAIt6S4ZURESPWvym+HgSif48bV8HCfNyZ/jUC+hfeOptfX+efds7fdOVcy1vSz1Z/5dzZ4/XVrP598HNYfB6+Q4DXvwaa/r0QU1QUc0Kufy9MwvQ66F+jNd14L/XvEWBt3IaQ0sojAnRZ4KB///xnkvu3Jh3Ub29vTW/v0+Kp33j5S/Sv301I/EDcr4roX6Ns75gwaePTTAQu9y++eidIj0VYm61LBy+wAnnmzGclKFXymcCBzB07MmtdT3PKi/hrnZ3X7GoH/XvxoqP+vf7gmTOwYBEF3zc0CEVB/16l61//5mZ/vJDEzRrtdnF9CKmrLNQbIAHwI3CHGzmztFqV+JnTv5OPnlo7ZE4wJp6+dABWJXvyal/LCy+s7bvqKdu/fY2NfaPRv5sCfL2H14hQCrnh2wH94KA+WKZ/wwZMsANgR8SGsfo31mhT1L/yqd9wwO8jhod3wHXjI3z070KOxxz0rz4FLR95RKx/gcAUGzQ0lXGB/Dm0meBe7l8I/cWjQtCNF2//QFH/8nVgXqE5QHRdzZEogv4qTv7Qc9EsTf7gSv9q7deu2c2i6N99Fy7sI/o3DJMd5KfT+QVls2uSCgL6t8q6fgLugbdlbTPfLLk5AwHP5qzzQvQvTAozaRJMDANFVv92nuyEfQICmICsdmVKyjzI9gL2t8xggGdehSxdipbU3L99fRV80ckpbLbbs8LRBVF4lt3OxjtjHY8CgH/Zm84j1b/rp00sGHvScgJF/0aUDGbJ9K8n4e8dQ/v2DXX8nejfnp4eS89FafIHqxRB/xYtKQ1YUiTWvwt2fk9g5wL8gT3F+J0/7+eprH8PUSCJKT0aGpbGx/De5RVgqopHfUyqf3Mtlly+LEv+EHztWk9rsFP9C7PPEBT1r1I2rkiOjsqPInmI/sXzv8mjf9OaOzub06TRv1E4+teF/o3iiM/IiOfLo9K/6kQ13B30b0kGQanV9BEx51xloS0SDWE3rlu38UJ+JyTaOAqHObqt0mpE5y8FZf3bCGmo64IG/Mq7/FBS6kanyR8Ar0VGY6vBGBK3g9W/Gkz3jFQNgWGiKaDkDx0OsPpXl2405IVcu2Y2puskuX93YPtLcv9i2OQPGE7/fg53Ie9D1y8AGK1xIP3LlxmGs78Xif1l9e8nej34QjUsP1GO/vXkwWkfYAkpIHhZF6oXQ/QvTLkzzdXUbyUURqh/AXnyB5yhRN2qRbSqSYYSnFvUMffvd8H+QvMEreZcnAOY6N/WE4hWKJHoX78jaBGuF1DSv+FJmvLkJJh+KQm+YEtqaEgKL0/FP7UpjsKxhWe2kejfYowBziACw7RwzJl8aQ5fJhVaW2XTki3jgn9XrH56wyaDRP+a+jv6TBL1eoGlxBausZVwK670b+u1a61S/RuZDljTBZCcgcwP8fvH4eQPH1W+/yCgtA0RGMvLupYW3csWdo3X9vAgBUX9u01MUkgfG/3rKSa1srAyWxT9e0wa/bsWs2ncmLUEeu1T+qIiHNAGh+Si5A9qfbEBrSP9e7DOUf/eRwE3Wtj/npg8uZno30eBhy1ARgZaPozWhW1I6zx1qjNN2IYUlgOT51yafEBIWQAVs9SXI1eoqa9RcKJ/V62KjmbzLRH9C7ygAnp71Q769+z7IqTHYqgttqtyhij6V2sfbE0X6198bnpWbG5ZC89QYqN/l3osHZn+Dc4NKMo1FLFrtC5XOflDOEfIvHkhfJl0xNbhYSvpiM0UiP5tKS9vIfrXl4IL/XtsS3v7lmMO+jexMNDDh4OowXCNJpw/GIrtDkYN56nK2NsrtyCGoiIDOZohmIDdxSEEWvQvVf+6SP4A39RVpYvgf4c2fSlmOv87tMdYThcsWVJwmlsh+hf9tFmuf30h1SncfflLFU1oqEb+EPTvp/WXxF/YSOZ8O9Vp2S1MuzYuJThFlvwBEz5nuse7V18PEX/i6OIQCdIzoLuyq6uyWxL9i3hepn81KkAj17/Gmr/Mn58l17/nm728mvnwX3oPKdG//RGXGiLY6N9NFESDJZttVPp3dMkfhtvahon+DXSE6N/8zs58h9y/Cxsgp/Fk9/RvlBh+6rf3Yvv3D2qzNDqYRBY6nBElf3gVsc+sRtZebd6HV5H+jYig61+gpiYhoaZGGv17xf7KZ1brZ6/YP+P0bwKPSiUUef3bCAugkde/niKCLl1afylMWf9epSDo3ydrep9ET070rxD9a0y32uxGQf/GCYh/ub27ubnOstt7eoFkUMHO+ZZazCYnSv/yQ1j/wqC4E0f/5ncICGnl4kHGcypE0L/ampycliw39a/2xg2tK/1LH9O/W5ZriFsBREIGCHz975eU5BcmRml84EmQ699LUsTxjL4CSrl/+cxkARs2BFyWtrpb8U9jA6dFRPjEkOQPaAZuqv6tMq4CoADAQaQAAQdGs9a87a1nj7c1+ZfULa87DtkfJJ8t7HjLrXNDx8Ow/j2WkPXg34Dub5D8oh5AR7oUVv+u39uQnBxzYrtM/26chLnhGP1rNKrvtf7V6TfkhWiOCChl4P8zBS76t6a3q6u3pqarpovXv4gKXv4S/du3aL/Y/aqNZvQOTz6z2ipFMcloZiZE/0qR1bM7LVfY3L9rKShV8plAbQCoJrf1r72qT6Opstnl+vdWTs4tB/37ImrGXpTr38n9ERH9k7kVIflDkTvJH1Qc5qoqs1j/doVrDJAU0rGuHz6sJc+c/r3UcDQ6NnZrm9Wq7evrwPpXvB/rys+fX1t3x1O2fwdu3RoYRe5fQD71m7L+xQxC5lhJ9G9QNegc//GwN7jsD3iWhbHU5A9jOsY46F9MWVymPnOHKpM/Nx8jSPVvpqrsq0CAvozoX0xgHEqPZUsJpOjfqoubP2uCZ1Hgxd/l+hdCf5vZ0QCE/gIMc4WC8KvawOBKQ3AgtwKjUwpKr8LxNhpRMIUIV8kftFaz+do1Ev3b9Fxj43NNgv7l6kCFX3W1Hz8Vn2ygV9/SVd+Ne+Dz286fO3ezJBEFcZVcfOHMGaJ/J2asAzImCvq3+aTJUf+OI5QZyuCuqEKI/tX19PRVuKF/gfDHdaGPh6MSGcR2mnIWi5Dp34lI/+ILldzW1kJZ8gfJ2VN5qKKicu0dUfSvBa7zb0qnfhsrRdC/cUs21C6JI/oXWLD2e1wSp7ULPBz1b7afX7ZY/4IYBPsr6N8ICkTXneyMjm4+yZZZ/XteJXBGOfpXNvWbfhD0r96Z/v04K+vjx1ngecTRv3+hQPQvnv8tzV+W+7cZkOX+jRwHuEr+kMOx68KFXXx5dMkf8tTqPFnyB2D3AwTX+hc4un79UQ+sfzHrNsYAJ6PZlmRU+tfzzp072TqUZ6rR2dRvOPTXkJsC9ncPC/w2GjNjBiwEFPVv3Ll9cgT9qzYmXRtUG+1S/aveAajl+hfH/RL9K8v7gFfhgoQj0ts7ki/zV++s/b05m+jfN1Q8b7jWv0B1qA4mnQyt9uQv33ZHiRFF/0ZEOEb/yvSvH4WRJX+gT/1G/79hFOT5DkEAE/2rHrzcMxgMfYiQ+9fvCBbAA6/vFlDSvxU6XapOF5qqqyiHR2WlroKb+q1oQTE2Md8XZdOioDT1m57FoA/JS8jicKZ/ey6NKezLEKvXd1haOlrOdbRwKyPWv20vPSkFy5lx8W88zKtfjNI2LMB8dc5cGPPN+Sq7RtO/yskftknQaNCSYSQdQqHV2jGA9S8FfmqnceM+ETEy/ZudHZqVG5CoQ1O/saWwbHryB2X9uxEL4PETp61xS/8C+WPH5vNlUe1buFAo4jOgWM9R68syYv0bveqn602TANMpuf6FYZXoavr996+rj70PKOrf7Oa243V/Fyd/sJrtVknyhzvI//69qunqBChz0b8Yiv5VTv4Qh/RvDLei1OV+jwIZsH5cWfkxXyb6dxgg+vc4BUH/XqkKDa26IuhfPQUX+le7Ra3eoiX6l8PjQKIL/avc7gBZvYcP96ogRolvz4Ih75caFmqDAT3hNYaZjdm9e7YIevQvSf5QpscLWHEy9RsQuXrx4idFjFz/ApZ4C9wfletfBNG/RPqSh5D8YdghEnsXDv3F8Q/x3KufYDLlU79hkq++jqqsWP8WLA2UIj0D1t7o6rqxlkz9xs795qb+TZ//l+fmp8v1b3qJl1dJurv693UQwHBn9a+BguiiOjra7Er/aiko6d9/UiD6d05b2xy+TFVQRP/6Q7Z60L8eJPoXsbC/382p39JlXdb9AMjfy4YzmgrsfoGRTf32Kku6GnXp3AqO/rUo6d8WLaaF6F+Exr65svIzs+brrvQvsLceLev3smtyOzFmzICnsv4toSDVv0+6F/2rMlutZrWgf2spwPsO26xLvFc46t8Jfmzo74riww9h2AbmoOlU/t6HCPynMGwHDDL9a4aR2mGzu8kfAL5MH3DRx/Q496/vu19g+SLWiCghxwQx7unf7m6ifxf8RIpYgYh7CaR7FaN/ryUWFiZeE+lf3IKdQgkgQABPi+flV3ApJL5R0L+q1aLcvysoMIwxS2tWf3blis1U19lZV388X65/Ia15ff3QHTb5w+fqM3+j6F/KeBHr3/oYrH9dRf++T+GeRf8a80IMbujfCxS42N3FACyffgaWvP4lkb9E/7Ysil8A7hf1k0Zz7+GWnMVP4ndYNVaGUvSvnoK8ngVNYOvZhxSUKvlMIPHhTZsePuBa/57BdNmqNF1W2zl2TRT9m5NDSf5wDL7SflCsf5fi4N+0tIY53ArbyE/58UMSlKZ+S+AwWq1G0jwO5mnsmmvBCaHVAwLcpzh8WEWeWf0bG7sQ6d+2WKs14cDpMWtZ/Us4VHkmyXZIbvdwmOeI9W8US7M70b/rKaBtyNb51U3y56kLo079Ro/+Jbl/if6FtdHoXyAwwIrmZcj1oUX/dt1AS3gHHtHMjux0UI3c5URzE4T+AkqdUjSH1jom5BSRKRtK8U2M0qtnKNAzWkuTP5Dcv0j/3rrloH8rkGvM9qug6d9D+XV1+bG4B054PqFqvXlwA4xhega3PX+e6F9I+pAB9nc2KnO5f5tx8odVLxFGo391VX0QZltV4Ub0r9lsfx3Ig+dR6F+V1nHqN08CnqkQCVkS/Qsb1ndRqn+jFfRvbWlAQGkt0b+I6e1TMe3TPYj+lSKZ+g047UL/juXp7Iwmv1J8BXhRTfSv09y/AiQK2HX0LynR9S89969L/Yvnf5NF/65EwWJI/wLiqd8yXU399mWOXQcP7uLL9AnWXE79Bv8km/oN8HmU4Ez/EpYuhYWgf3kJXJLfDEduNMkfSjyr71TfCRIlf/jmW8876l8AYsyMl+P3hMTtL9ujHP2rnPxBSf/6mc3m9K6udEi/Ikn+gK6p9bAg+lfMBx8Q/UvyPrAwzKccSP/yZYah2F+X0b81RP8SgvxSU/3gay96VVBM/kCBPkXbCKd+89n53v3vSVGK/j1EATdOGqkAFvSvscrIPgn6l7W/V+fMWiAAgpMCVAVNUjh6aDTJyZpwa7iGz+uUm2sAE7PvOwIK0b9E/3ZWivQvb4KKVKrUGRzOkj/09F9q6JGo15ksFX1jxtRVCEO9WAqi77xaB/Ui/Ttn9UuLZTAMn/DhQRFK2zCLY0Fk5AK+TEv+oDz12zYKsi6heqA6yJNM/cbnf7h30b+s8g3KRvo3u5pdo079ppz8YRKb/mF5RITpoJvJH1DOZor+nbZA8pM5qCAsel9vlhEnfwD/W78RxyefFOnfz5GWTDCbE1wFU3mKCBseunPJU5L712g2SvQvm/336lU2RF9R/7qa+i1Xn6Iv4sq0LldZ/35Mgehfgkv9+yxk/hUlf1BRGFX0LzBZKJH3TUhOJsdCsd0B0s1GCIYwZhn59qw2AFOGF/gWUDuS6F8y9ZsKIFO/EflLBDDDYPkrY8TJH8jUbzL9a4D56cFTGPhLlfDk5HD5g5v6rX6Oz3QRDINDf2NjT6HRr2UaP3wJpcAnf0hYNuHIhDsDWqOdT5sGkxGLoMUndHdnk9y/BDeSP2h7a2Ael16tTP8uwsHvrvTvN7+J9G8/+F+O/ggX0b/qtujoNi23opSj9wcUlPTvLgrkfSOHhyP5MvVsIfoXwp7Gs9G/RP9i3Na/L4lgGJC/h/pak9rB/d4PCPp3YoY/kr4REUgE+2dMVNa/3+cwwjiBL6PcvzENirl/0WjPmE6if1lSrZWV1s2oRJI/hFYIyR+gWMF386tLTPn5ppLVFP0LhIV5OtG//hRGkvyB5P5VQ1tCcv8WUWCYpZd6ei55OyZ/mBCaF4VDf+3zBc+Dn1565pmHRDiN/lVpzekq96d+I4ww+hcc6JwvMDwTgIqKCfdc/74jQHLIkOhfau7f5PLyyvJkkf61t4GVMaO8eLPQ9G/4wAwGx/ngg0RP/qBKX4WAorL+BbQvvNWSPz4ferl6k+ktTv8ShtqGDoVx+vfzBx2SPyygjhd/imjsDAjoL3GV+5eejoHKKPSvPi/PUHnHpf6lnzrPUGAYIn8JEO7SEwNxv0ZzOha/AN4PT34leqwcpdy/KgpKIuRhCs6if8u7/fy6y13r359hNh+v6+rqO76ZXSP69+bFizcd9e95iHyU6F/MZItlMkn+gOSvHKiTzd9xQGnqN/21DYUbWpPmhgUR+FAetYo8s/r39dch9S80SPYE4wFY28npXwJkLy0ndk/EyPXveApK+venFPA2DJlKRNQNIP17qh/kr5v6F0GSP9Cjf10nfwACa+1QZbeG+AZK9W8VRP/CAlAKd4HQX+579lP5NyB7CoJ+ZhE5Z7PbbeS82ECB/qpSq/F9CkT/Gq9dy7ObRbl/DwJeRP9yUx8htwYTIVH0b1jY0FAY+/sb9TaVef251hLYmJLWF85rheQPwOzl69YtF+vfsSeR/P3yQwSR/iXJH1zp3x5Mn0v9a4TsD3kNQB7kfjC6m/yB6F9z/V45tPOE6N+NN/v6bm50T/8uhPljSxdK9W9grQpTG+iG/kVJvQuOnj7tnv6FxBv5zWOJ/gXOqHimsvr3RQpE/4oVsNLUb49TYJiLFHhHUxKzO22mgFP9S+Z/k0X/ruzsXCmJ/gVWR0ZFRYL9dap/KUDlpcBVsmLpMAMNmOGXFsW+gb4BAbAohl9evP326PQvgehfAuSCMDHMQQpKxoNM/eYZRKZ+WwXyl6p/IcpsEKJ/9+yBU3CPcu5fpTDDOLr+RYRb06tu3YLfw2qWyfRvcLCS/iXRv5K8D3L9OyzVv8T+4v5iRFO/eUpAX+q41r/APdW/9Gij10nSX5e5f9dRwI3Td+URwOQHTlaj0VpllOb+3QkjcoJS156qqfBL1fghWe6nSe3u1sDU3cLl/OHviKDn/lXSv3wPDHavfAaHs6nfTCU9FtNy8ZbN5Gipq2txNdSL5WlrE0nh4cWOwEBNiPolKG3DLAq0qd9Gr38JotPy/HlY3LvcvwYsfz1Z/esJAjghF02lNpzTtHGjF9y98FNTzrCTqd82+mPBih6Nzqd+q+dYg+4cIv3b8KY0Y5ovVw/iiLSsouA892/zJEyzSP8mOs4kcJ2C47EIk+hfhFT/EpzrX5z3gQv7Ja9OFLI/1Ir1r4z/jP5FjE7/0nP/0rvBfRSU2p1YCvTfLYws9y+RvkQEwznPy18igGE/EPlLUJr6zc6Bpn7jy6B/eR54QCjyF5MfcfAXk0HLlgXJH0j/frrmym/kUWS7YM63aLt6K1yTxPMWF9pJCsLUb+FH7tw5Ei5M/VawVG5/lQeoz0PIL8Gtqd8SjPNrVFq5/t2GcaF/M0wmGOpmRIjIUIr+zWIxd9lsXWZu5d+ufwmu9S+A9C+GYfobHOh3rX+fZG9Y/763ts/aPheF/RKgKYlYB94XGD8eP8HqRCX928HSpzIYVH3cCv/RlJI/dNXAnehfjrPlOpGg9IMJ3zQaWCYkwEKHi9DNczSaTI18mVLNRqx/6VO/1Tc73OpJ9C+C6N9iCvC+Ud4+u2uvSQATt0yDO6UVcb2iS92HKAjDPkNPj4ErEv2r0hpHqX9TKSjm/s1MyQ1YIvjfCRTcTf7gtv4NDglBAwSnuX+BY9evHxNPm7MV5S6HB04AwcXm5YKjkSOe+k1lP776+Dln0b+1wJLyt966Al855EMMav4VXv8SwuCmNPUbfbzIT/3WKJ/6DXMR2d9eon/pQvbu9W84YN+wIa80L1kUr7OTgnP9uzgHs5jXv00lRP4S/VvXV3V4Pid+yX6A0N//oP6lV3LoOCM/qpw5sxKe8A1egGNBAfQvSwukwI5t4VZcTf32Itwdp347gO4ccAa89GOK/iX2lwAdAgXYO2j+f+t7YH8JCmMfMvVbtI1M/Sb7wra6Ovvfqn/DKTjRvwNDLIcA+AxDsA0FRP5K9C8cmzpq7l8y9Rs1+tf11G+YwCgz+q7cXhso1b9daOlU/zYKc77V/ABwpn/zeaDJ4RlZ8odkCq71b0iI2SjK/Xth/vwLRP++TsFZD6w+V29qhcDX1ps3YI2f+g0eMRkTJ2bEEP2L5O+TIH/p+pdM/eYq+UNVD6KKXXEW1ZWVYM6b1tAwLc+ckCWf+k0TyqOkf63rP3hCDkND0L/rJm3cOGkdr3+pCPr3sccmQzYvTv+SpCMqgOScpvMIx8KCgoV82elfA041N8MUNxL9ez0560wCDnR6xZn+pTOOAqNAFwWx/n2HXHuMABL9u9JkWimO/iXcU/0LGGTRv5D3gU06FYgXtQbIADEi/TsinqSglF/gR5hdey/U1ZXs3cWuMQqsBFoNcUVxe4Cyy3sQ9AlUsWd6UXabyiiwjA3/TTcnJcHCj9W/I0Kc94Ho30aOBm/vBr7MMBT7677+pXP3+vddCkpVIYgCowAXPWqDhwAMvigwVEgcFP6Fozj377IhNvQXj8uV9a/T903/vmwwMx2B9a8oJo2Osv7FrP5TnCiLZzwF0V7fuVMo0geWCikhRkQ8BeXjxot7Yu4V9O+ImEqBe98XQf8mqASUat/7FBSPEMR+QWZ/8oiZzF5wpWTqef2rz0QOmI/+hRu6w68QnOnfpykwCngDtdj/hoik5XoKzvXvyTQsp9dHC/p3zCOPTJTcoHM9S4GhoqR/oSbK2ckosPRoHXG/cv0bUztxYhlJ/nDX0PUvlZHpXzoqnqwsl/8XUgHxN77wE8WBDgW6/uV+Ed8O+vd+glL0L0n5gMGrzIhQsYRsmj59UwiZFohjfUfHer4M+pfCiCLDQP+2/EYOw6BcdNE2a1szTJfE42R7K22xdlWWRpOlslfiSdKYe8CfKJBUCKVxpUV8WbHdocAo4EuBGDg4s4TiyPSv+4xI/7qP29G/IIDRjDFzIe5XCkNFSf+OY9mRMm5cyg4XI/0pHDUwSRRfZhTwA8JTK5D+5YpY/1JgqCjp30YKuJEbFle8YdzIvUqBRP9K9a9y42lZJ0/IVpFX64H6Jwj9FWAUoF2pu4+S/vWjoDSmf7cYddfTv8D8O5HpX/2mKD2rfwHH3L9xPKWlQpFr40+14SecAEL5wBD9+0+rVqW1QklZ/74JE2BMHANdesu5uqpzwBXl3h3L3wcT1GIYKkIb/8F2HONC9C+m6wbI33+3/uUMzYFiQ4NBJaB0kdtIgde/OS2ImhZO/941I9O/7qNUyR9GfJKY+MnDPB8+TD95BP17PbyyMnyqK/1LgWHUFJgRQde/qFL/q717DZEpDAM4/iorxv0+kZVL9oNCu8i67X5wHVPuqyQTZWw2LSLFWtRu4WjkFhu1yFrbCK1SRG65K02SS764tL7ggy8oHzznnXPmGTPPmXde5z3jDOc3Z2eGhHbX7pm/Z56pGafXX2R17vOEwCTI5d+rBBUfTRpM/y67do2c/gUd58zpaN5nFobqOs5p3DOUyr+gx+H7ev8tLmEkq/x7uaGCf3VqeNc2U5R/6XGtawSrn60kMAu4/CGon4bi9G+nlpZOmH97EDJ/Bw5+0OpO1e2cpek/wOUPhfpNodGCoXXfNuMvkuuI0+OiF9/g8t8MOx3LIkVaraaFw7VaUaQs/qS9L/ro76IPVcc3J1jkXwmYf0G2+ZfD/Gs4DHMicCPMvxwf/RXmX4TLHxKe64HA4fz7jmA//+L0L8DpXyfzb/i0P+W/mIsacemUHoEbi9q7Kf/CAPD+/TD6K8q/nT7CyocrtRcQYz11/Lto8gbj1PoryL8gWq3thAIcjf+IScG9DyhRI0eFfL6QuTNff2T3YwmH9VeYfy85nX/nESxP3wiWGZFgtfuX1p7A829rwWgefwG/lc+/sAQbqc2/YHzyUweXE5J2gsE5nsm5/LucIMy/N24ozL80ufy7i5DxIxQK4RvgL/rX9LTZzL/NT5tK9T/NCL+j4I3fvaks/wL/yskni3228m9FQx/QsB7E8290YBr6c0cq/0q5fwdWPiDMvyhv86/M59lIgpr8C8T5FzCGL/iGLwLHpCQiVThcmvyq8Ehl/r37knr/xuLnfw17exRkk3/LVvCZ3/gcMF93ocA8Aj3BpSL/0vqhfzf/Jk3/Ckjk3yZ+Jcq/BGaBj/xWlZvTv3PhrpL8S5/V+ziIfT64AJ+y/Ht+d7z+IqiX/Pdv/PD7E11pU9I4l3/pc/pWGDoKL17rd7T/pi5/OAnN2Xr6t4RgrGvCp9M+GC3Ov7qNjzZm3v077ExhYe/tbW0BOAJwDeoz5N9vr7b8LmP+BcM7I4uJU5Ka/AuC+j42ZPXIZiPBeOm3SUnGuz//pn+SDyBYPUtqlSkQ4Dfy+fc1QU3+rZw9g9dfcf69SHAu/9LZZR1BTf49uG/fJ3L6Fy7AvGudfzn4ZXT+BSWTV8D78UCjXP41R3/vzASC/DufwKSMJYjzb2kwefcvrO+7ZSP/grLaezvuRWZVJvLvGLjAAeCa/4Cxiknw3dB+/gXRTwe3R6cL8i+IaBocR/QrY/q37irU37uRiV02d09wVf71l5b6hfmXIPeoCPNvdeXzhxsczr+9CI7kX8BIEvnXNnfl36UtLUvF+XfbBd3HbPIvD754CPMvKJ9YU27eZ1Jw74M4/2L9Tc+/77e8/zvTvwUEFZ8KtG4Eyfz7daERfieYxzwmBdY4TkFO598FBPpUz7n8u4AgyL9jjSuOkdycfy3/tGAzLn9oDiamf0fx8AsX3eXvyfm3Z08b+RcN+cP8C2LP6uqeQR5bb0z/9h0IeuMB6OlqtflXTJx/1VOff6cSHMu/pCzzL9/+oOZ9hgT5V8FJPs14TIKjv4Jwomn6Nd5jChQQBPlXNTr/SsiL/IsU5V+kNP9Gq2GBdzz/RqvgrvP5F2XIv1J8oa5G/UXxP23x0Uv9kMr8KyaZfzuuPNkEHdTR/mu9+xck519g9bWiAzh3rkPCMXH+RYLpX8i/9fEArCfg+gz5t3V4KtfnX85O/kX5Mf0rkX9H/H7B/IsC0vl3E4Ep0L5qEMZfQf49Tsh1/h1AUDT9u4aa/kXC6V8Ck9KZYL662LufM8X5lx5OkPKQIMy/HE7/gh328i8o4gcuf+CH+QZUdMTppovwJs6/oNZg/s0O6aO/kXKIvy7NvyXFxSW5zL+IkRzLvyQv/yrLvwRmYfcFJMi/Uh1kiGE5wOYnA/c+iPMv1t/0/Au8/JuN1gWjiQktGdq0KdL5V0xB/qXlPv+ify//AiP/cjz/pnl7PSn/Dh5sO//amv4FFbFYBX7kXw1MZ7ElVYKXf02PCe7Mv37X5F/7+GOSvecLssq/Kbz86+VfpHL6N1pTM5vnX343mo/5d3UfQOXf4p39++VL/h28Ns6X1n/dl39jsQ4IFkDI5V/aVjiv33qjTa++bQEAt/WWDaKgs738S/of8y/FPdO/kHyRa/LvXFj76878S3Ey/7ZbvGyZS/NvDEd/nc6/7QnS+RfYzr+CzTJq8i8S518CY/Cab1r1WKi/4vzrXmT+9XAS+dcj/100x0KJvQ/I1tdo5vkb6PzrITmdf2m7wEs8OObxAHc9vLONzr8eT0644B+Axz1E+df5c/rPZ02tL5ibdUj3gHk8ih+4pkz+nuDTvx5PXjPzb96ec5D5N6d+AU9U34jqcCCnAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-image:url(data:image/png;base64,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)}}.vti__flag.np{background-color:transparent}\\n\")();\nvar component_css_vue_type_style_index_1_src_5851b83d_lang = /* @__PURE__ */ (() => \".vue-tel-input{border-radius:3px;display:flex;border:1px solid #bbb;text-align:left}.vue-tel-input.disabled .selection,.vue-tel-input.disabled .dropdown,.vue-tel-input.disabled input{cursor:no-drop}.vue-tel-input:focus-within{box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999;border-color:#66afe9}.vti__dropdown{display:flex;flex-direction:column;align-content:center;justify-content:center;position:relative;padding:7px;cursor:pointer}.vti__dropdown.show{max-height:300px;overflow:scroll}.vti__dropdown.open{background-color:#f3f3f3}.vti__dropdown.disabled{cursor:no-drop;outline:none;background-color:#f3f3f3}.vti__dropdown:hover{background-color:#f3f3f3}.vti__selection{font-size:.8em;display:flex;align-items:center}.vti__selection .vti__country-code{color:#666}.vti__flag{margin-right:5px;margin-left:5px}.vti__dropdown-list{z-index:1;padding:0;margin:0;text-align:left;list-style:none;max-height:200px;overflow-y:scroll;position:absolute;left:-1px;background-color:#fff;border:1px solid #ccc;width:390px}.vti__dropdown-list.below{top:33px}.vti__dropdown-list.above{top:auto;bottom:100%}.vti__dropdown-arrow{transform:scaleY(.5);display:inline-block;color:#666}.vti__dropdown-item{cursor:pointer;padding:4px 15px}.vti__dropdown-item.highlighted{background-color:#f3f3f3}.vti__dropdown-item.last-preferred{border-bottom:1px solid #cacaca}.vti__dropdown-item .vti__flag{display:inline-block;margin-right:5px}.vti__input{border:none;border-radius:0 2px 2px 0;width:100%;outline:none;padding-left:7px}\\n\")();\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nfunction getDefault(key) {\n const value = utils.options[key];\n if (typeof value === \"undefined\") {\n return utils.options[key];\n }\n return value;\n}\nconst _sfc_main = {\n name: \"VueTelInput\",\n directives: {\n clickOutside\n },\n props: {\n modelValue: {\n type: String,\n default: \"\"\n },\n allCountries: {\n type: Array,\n default: () => getDefault(\"allCountries\")\n },\n autoFormat: {\n type: Boolean,\n default: () => getDefault(\"autoFormat\")\n },\n customValidate: {\n type: [Boolean, RegExp],\n default: () => getDefault(\"customValidate\")\n },\n defaultCountry: {\n type: [String, Number],\n default: () => getDefault(\"defaultCountry\")\n },\n disabled: {\n type: Boolean,\n default: () => getDefault(\"disabled\")\n },\n autoDefaultCountry: {\n type: Boolean,\n default: () => getDefault(\"autoDefaultCountry\")\n },\n dropdownOptions: {\n type: Object,\n default: () => getDefault(\"dropdownOptions\")\n },\n ignoredCountries: {\n type: Array,\n default: () => getDefault(\"ignoredCountries\")\n },\n inputOptions: {\n type: Object,\n default: () => getDefault(\"inputOptions\")\n },\n invalidMsg: {\n type: String,\n default: () => getDefault(\"invalidMsg\")\n },\n mode: {\n type: String,\n default: () => getDefault(\"mode\")\n },\n onlyCountries: {\n type: Array,\n default: () => getDefault(\"onlyCountries\")\n },\n preferredCountries: {\n type: Array,\n default: () => getDefault(\"preferredCountries\")\n },\n validCharactersOnly: {\n type: Boolean,\n default: () => getDefault(\"validCharactersOnly\")\n },\n styleClasses: {\n type: [String, Array, Object],\n default: () => getDefault(\"styleClasses\")\n }\n },\n data() {\n return {\n phone: \"\",\n activeCountryCode: \"\",\n open: false,\n finishMounted: false,\n selectedIndex: null,\n typeToFindInput: \"\",\n typeToFindTimer: null,\n dropdownOpenDirection: \"below\",\n parsedPlaceholder: this.inputOptions.placeholder\n };\n },\n computed: {\n activeCountry() {\n return this.findCountry(this.activeCountryCode);\n },\n parsedMode() {\n if (this.mode === \"auto\") {\n if (!this.phone || this.phone[0] !== \"+\") {\n return \"national\";\n }\n return \"international\";\n }\n if (![\"international\", \"national\"].includes(this.mode)) {\n console.error('Invalid value of prop \"mode\"');\n return \"international\";\n }\n return this.mode;\n },\n filteredCountries() {\n if (this.onlyCountries.length) {\n return this.allCountries.filter(({ iso2 }) => this.onlyCountries.some((c) => c.toUpperCase() === iso2));\n }\n if (this.ignoredCountries.length) {\n return this.allCountries.filter(({ iso2 }) => !this.ignoredCountries.includes(iso2.toUpperCase()) && !this.ignoredCountries.includes(iso2.toLowerCase()));\n }\n return this.allCountries;\n },\n sortedCountries() {\n const preferredCountries = this.getCountries(this.preferredCountries).map((country) => ({ ...country, preferred: true }));\n return [...preferredCountries, ...this.filteredCountries];\n },\n phoneObject() {\n var _a, _b, _c;\n let result2;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n result2 = parsePhoneNumberFromString(this.phone) || {};\n } else {\n result2 = parsePhoneNumberFromString(this.phone, this.activeCountryCode) || {};\n }\n const {\n metadata: metadata2,\n ...phoneObject\n } = result2;\n let valid = (_b = result2.isValid) == null ? void 0 : _b.call(result2);\n let formatted = this.phone;\n if (valid) {\n formatted = (_c = result2.format) == null ? void 0 : _c.call(result2, this.parsedMode.toUpperCase());\n }\n if (result2.country && (this.ignoredCountries.length || this.onlyCountries.length)) {\n if (!this.findCountry(result2.country)) {\n valid = false;\n Object.assign(result2, { country: null });\n }\n }\n Object.assign(phoneObject, {\n countryCode: result2.country,\n valid,\n country: this.activeCountry,\n formatted\n });\n return phoneObject;\n }\n },\n watch: {\n activeCountry(value, oldValue) {\n if (!value && (oldValue == null ? void 0 : oldValue.iso2)) {\n this.activeCountryCode = oldValue.iso2;\n return;\n }\n if (value == null ? void 0 : value.iso2) {\n this.$emit(\"country-changed\", value);\n }\n },\n \"phoneObject.countryCode\": function(value) {\n this.activeCountryCode = value || \"\";\n },\n \"phoneObject.valid\": function() {\n this.$emit(\"validate\", this.phoneObject);\n },\n \"phoneObject.formatted\": function(value) {\n if (!this.autoFormat || this.customValidate) {\n return;\n }\n this.emitInput(value);\n this.$nextTick(() => {\n if (value && !this.modelValue) {\n this.phone = value;\n }\n });\n },\n \"inputOptions.placeholder\": function() {\n this.resetPlaceholder();\n },\n modelValue(value, oldValue) {\n if (!this.testCharacters()) {\n this.$nextTick(() => {\n this.phone = oldValue;\n this.onInput();\n });\n } else {\n this.phone = value;\n }\n },\n open(isDropdownOpened) {\n if (isDropdownOpened) {\n this.setDropdownPosition();\n this.$emit(\"open\");\n } else {\n this.$emit(\"close\");\n }\n }\n },\n mounted() {\n if (this.modelValue) {\n this.phone = this.modelValue.trim();\n }\n this.cleanInvalidCharacters();\n this.initializeCountry().then(() => {\n var _a;\n if (!this.phone && ((_a = this.inputOptions) == null ? void 0 : _a.showDialCode) && this.activeCountryCode) {\n this.phone = `+${this.activeCountryCode}`;\n }\n this.$emit(\"validate\", this.phoneObject);\n }).catch(console.error).then(() => {\n this.finishMounted = true;\n });\n },\n methods: {\n resetPlaceholder() {\n this.parsedPlaceholder = this.inputOptions.placeholder;\n },\n initializeCountry() {\n return new Promise((resolve) => {\n var _a;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n resolve();\n return;\n }\n if (this.defaultCountry) {\n if (typeof this.defaultCountry === \"string\") {\n this.choose(this.defaultCountry);\n resolve();\n return;\n }\n if (typeof this.defaultCountry === \"number\") {\n const country = this.findCountryByDialCode(this.defaultCountry);\n if (country) {\n this.choose(country.iso2);\n resolve();\n return;\n }\n }\n }\n const fallbackCountry = this.preferredCountries[0] || this.filteredCountries[0];\n if (this.autoDefaultCountry) {\n getCountry().then((res) => {\n this.choose(res || this.activeCountryCode);\n }).catch((error) => {\n console.warn(error);\n this.choose(fallbackCountry);\n }).then(() => {\n resolve();\n });\n } else {\n this.choose(fallbackCountry);\n resolve();\n }\n });\n },\n getCountries(list = []) {\n return list.map((countryCode) => this.findCountry(countryCode)).filter(Boolean);\n },\n findCountry(iso = \"\") {\n return this.filteredCountries.find((country) => country.iso2 === iso.toUpperCase());\n },\n findCountryByDialCode(dialCode) {\n return this.filteredCountries.find((country) => Number(country.dialCode) === dialCode);\n },\n getItemClass(index2, iso2) {\n const highlighted = this.selectedIndex === index2;\n const lastPreferred = index2 === this.preferredCountries.length - 1;\n const preferred = this.preferredCountries.some((c) => c.toUpperCase() === iso2);\n return {\n highlighted,\n \"last-preferred\": lastPreferred,\n preferred\n };\n },\n choose(country) {\n var _a, _b;\n let parsedCountry = country;\n if (typeof parsedCountry === \"string\") {\n parsedCountry = this.findCountry(parsedCountry);\n }\n if (!parsedCountry) {\n return;\n }\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\" && parsedCountry.iso2 && this.phoneObject.nationalNumber) {\n this.activeCountryCode = parsedCountry.iso2;\n this.phone = parsePhoneNumberFromString(this.phoneObject.nationalNumber, parsedCountry.iso2).formatInternational();\n return;\n }\n if (((_b = this.inputOptions) == null ? void 0 : _b.showDialCode) && parsedCountry) {\n this.phone = `+${parsedCountry.dialCode}`;\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n return;\n }\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n this.emitInput(this.phone);\n },\n cleanInvalidCharacters() {\n const currentPhone = this.phone;\n if (this.validCharactersOnly) {\n const results = this.phone.match(/[()\\-+0-9\\s]*/g);\n this.phone = results.join(\"\");\n }\n if (this.customValidate && this.customValidate instanceof RegExp) {\n const results = this.phone.match(this.customValidate);\n this.phone = results.join(\"\");\n }\n if (currentPhone !== this.phone) {\n this.emitInput(this.phone);\n }\n },\n testCharacters() {\n if (this.validCharactersOnly) {\n const result2 = /^[()\\-+0-9\\s]*$/.test(this.phone);\n if (!result2) {\n return false;\n }\n }\n if (this.customValidate) {\n return this.testCustomValidate();\n }\n return true;\n },\n testCustomValidate() {\n return this.customValidate instanceof RegExp ? this.customValidate.test(this.phone) : false;\n },\n onInput() {\n this.$refs.input.setCustomValidity(this.phoneObject.valid ? \"\" : this.invalidMsg);\n this.emitInput(this.phone);\n },\n emitInput(value) {\n this.$emit(\"update:modelValue\", value);\n this.$emit(\"on-input\", value, this.phoneObject, this.$refs.input);\n },\n onBlur() {\n this.$emit(\"blur\");\n },\n onFocus() {\n setCaretPosition(this.$refs.input, this.phone.length);\n this.$emit(\"focus\");\n },\n onEnter() {\n this.$emit(\"enter\");\n },\n onSpace() {\n this.$emit(\"space\");\n },\n focus() {\n this.$refs.input.focus();\n },\n toggleDropdown() {\n if (this.disabled || this.dropdownOptions.disabled) {\n return;\n }\n this.open = !this.open;\n },\n clickedOutside() {\n this.open = false;\n },\n keyboardNav(e) {\n if (e.keyCode === 40) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex = Math.min(this.sortedCountries.length - 1, this.selectedIndex + 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight + selEle.clientHeight;\n }\n } else if (e.keyCode === 38) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = this.sortedCountries.length - 1;\n } else {\n this.selectedIndex = Math.max(0, this.selectedIndex - 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop < this.$refs.list.scrollTop) {\n this.$refs.list.scrollTop = selEle.offsetTop;\n }\n } else if (e.keyCode === 13) {\n if (this.selectedIndex !== null) {\n this.choose(this.sortedCountries[this.selectedIndex]);\n }\n this.open = !this.open;\n } else {\n this.typeToFindInput += e.key;\n clearTimeout(this.typeToFindTimer);\n this.typeToFindTimer = setTimeout(() => {\n this.typeToFindInput = \"\";\n }, 700);\n const typedCountryI = this.sortedCountries.slice(this.preferredCountries.length).findIndex((c) => c.name.toLowerCase().startsWith(this.typeToFindInput));\n if (typedCountryI >= 0) {\n this.selectedIndex = this.preferredCountries.length + typedCountryI;\n const selEle = this.$refs.list.children[this.selectedIndex];\n const needToScrollTop = selEle.offsetTop < this.$refs.list.scrollTop;\n const needToScrollBottom = selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight;\n if (needToScrollTop || needToScrollBottom) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight / 2;\n }\n }\n }\n },\n reset() {\n this.selectedIndex = this.sortedCountries.map((c) => c.iso2).indexOf(this.activeCountryCode);\n this.open = false;\n },\n setDropdownPosition() {\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > 200;\n if (hasEnoughSpaceBelow) {\n this.dropdownOpenDirection = \"below\";\n } else {\n this.dropdownOpenDirection = \"above\";\n }\n }\n }\n};\nconst _hoisted_1 = [\"aria-expanded\", \"tabindex\"];\nconst _hoisted_2 = { class: \"vti__selection\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"vti__country-code\"\n};\nconst _hoisted_4 = { class: \"vti__dropdown-arrow\" };\nconst _hoisted_5 = [\"onClick\", \"onMousemove\", \"aria-selected\"];\nconst _hoisted_6 = { key: 1 };\nconst _hoisted_7 = [\"type\", \"autocomplete\", \"autofocus\", \"disabled\", \"id\", \"maxlength\", \"name\", \"placeholder\", \"readonly\", \"required\", \"tabindex\", \"value\", \"aria-describedby\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vue-tel-input\", $props.styleClasses, { disabled: $props.disabled }])\n }, [\n withDirectives((openBlock(), createElementBlock(\"div\", {\n \"aria-label\": \"Country Code Selector\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.open,\n role: \"button\",\n class: normalizeClass([\"vti__dropdown\", { open: $data.open, disabled: $props.dropdownOptions.disabled }]),\n tabindex: $props.dropdownOptions.tabindex,\n onKeydown: [\n _cache[0] || (_cache[0] = (...args) => $options.keyboardNav && $options.keyboardNav(...args)),\n _cache[2] || (_cache[2] = withKeys((...args) => $options.toggleDropdown && $options.toggleDropdown(...args), [\"space\"])),\n _cache[3] || (_cache[3] = withKeys((...args) => $options.reset && $options.reset(...args), [\"esc\"])),\n _cache[4] || (_cache[4] = withKeys((...args) => $options.reset && $options.reset(...args), [\"tab\"]))\n ],\n onClick: _cache[1] || (_cache[1] = (...args) => $options.toggleDropdown && $options.toggleDropdown(...args))\n }, [\n createElementVNode(\"span\", _hoisted_2, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", $data.activeCountryCode.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n $props.dropdownOptions.showDialCodeInSelection ? (openBlock(), createElementBlock(\"span\", _hoisted_3, \" +\" + toDisplayString($options.activeCountry && $options.activeCountry.dialCode), 1)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"arrow-icon\", { open: $data.open }, () => [\n createElementVNode(\"span\", _hoisted_4, toDisplayString($data.open ? \"\\u25B2\" : \"\\u25BC\"), 1)\n ])\n ]),\n $data.open ? (openBlock(), createElementBlock(\"ul\", {\n key: 0,\n ref: \"list\",\n class: normalizeClass([\"vti__dropdown-list\", $data.dropdownOpenDirection]),\n role: \"listbox\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.sortedCountries, (pb, index2) => {\n return openBlock(), createElementBlock(\"li\", {\n role: \"option\",\n class: normalizeClass([\"vti__dropdown-item\", $options.getItemClass(index2, pb.iso2)]),\n key: pb.iso2 + (pb.preferred ? \"-preferred\" : \"\"),\n tabindex: \"-1\",\n onClick: ($event) => $options.choose(pb),\n onMousemove: ($event) => $data.selectedIndex = index2,\n \"aria-selected\": $data.activeCountryCode === pb.iso2 && !pb.preferred\n }, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", pb.iso2.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"strong\", null, toDisplayString(pb.name), 1),\n $props.dropdownOptions.showDialCodeInList ? (openBlock(), createElementBlock(\"span\", _hoisted_6, \" +\" + toDisplayString(pb.dialCode), 1)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_5);\n }), 128))\n ], 2)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1)), [\n [_directive_click_outside, $options.clickedOutside]\n ]),\n withDirectives(createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event) => $data.phone = $event),\n ref: \"input\",\n type: $props.inputOptions.type,\n autocomplete: $props.inputOptions.autocomplete,\n autofocus: $props.inputOptions.autofocus,\n class: normalizeClass([\"vti__input\", $props.inputOptions.styleClasses]),\n disabled: $props.disabled,\n id: $props.inputOptions.id,\n maxlength: $props.inputOptions.maxlength,\n name: $props.inputOptions.name,\n placeholder: $data.parsedPlaceholder,\n readonly: $props.inputOptions.readonly,\n required: $props.inputOptions.required,\n tabindex: $props.inputOptions.tabindex,\n value: $props.modelValue,\n \"aria-describedby\": $props.inputOptions[\"aria-describedby\"],\n onBlur: _cache[6] || (_cache[6] = (...args) => $options.onBlur && $options.onBlur(...args)),\n onFocus: _cache[7] || (_cache[7] = (...args) => $options.onFocus && $options.onFocus(...args)),\n onInput: _cache[8] || (_cache[8] = (...args) => $options.onInput && $options.onInput(...args)),\n onKeyup: [\n _cache[9] || (_cache[9] = withKeys((...args) => $options.onEnter && $options.onEnter(...args), [\"enter\"])),\n _cache[10] || (_cache[10] = withKeys((...args) => $options.onSpace && $options.onSpace(...args), [\"space\"]))\n ]\n }, null, 42, _hoisted_7), [\n [vModelDynamic, $data.phone]\n ]),\n renderSlot(_ctx.$slots, \"icon-right\")\n ], 2);\n}\nvar VueTelInput = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nvar index = {\n install(app, customOptions = {}) {\n const {\n dropdownOptions: customDropdownOptions,\n inputOptions: customInputOptions,\n ...otherCustomOptions\n } = customOptions;\n const {\n dropdownOptions: defaultDropdownOptions,\n inputOptions: defaultInputOptions,\n ...otherDefaultOptions\n } = defaultOptions;\n utils.options = {\n inputOptions: {\n ...defaultInputOptions,\n ...customInputOptions\n },\n dropdownOptions: {\n ...defaultDropdownOptions,\n ...customDropdownOptions\n },\n ...otherDefaultOptions,\n ...otherCustomOptions\n };\n app.component(\"vue-tel-input\", VueTelInput);\n }\n};\nexport { VueTelInput, index as default };\n","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar reactivity = require('@vue/reactivity');\nvar shared = require('@vue/shared');\n\nfunction warn(msg, ...args) {\n return;\n}\n/**\n * @internal\n */\nfunction assertNumber(val, type) {\n return;\n}\n\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (shared.isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && shared.isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!shared.isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = shared.NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (false && check(job)) ;\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs();\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs();\n }\n }\n}\n\nexports.devtools = void 0;\nlet buffer = [];\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n exports.devtools = hook;\n if (exports.devtools) {\n exports.devtools.enabled = true;\n buffer.forEach(({ event, args }) => exports.devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!exports.devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n buffer = [];\n }\n }, 3000);\n }\n else {\n buffer = [];\n }\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || shared.EMPTY_OBJ;\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || shared.EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (shared.isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(shared.looseToNumber);\n }\n }\n let handlerName;\n let handler = props[(handlerName = shared.toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = shared.toHandlerKey(shared.camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = shared.toHandlerKey(shared.hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (!shared.isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n shared.extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (shared.isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (shared.isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n shared.extend(normalized, raw);\n }\n if (shared.isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !shared.isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (shared.hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n shared.hasOwn(options, shared.hyphenate(key)) ||\n shared.hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if (false && attrs === props) ;\n result = normalizeVNode(render.length > 1\n ? render(props, false\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(shared.isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n root.transition = vnode.transition;\n }\n {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || shared.isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!shared.isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (shared.isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = vnode.props ? shared.toNumber(vnode.props.timeout) : undefined;\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (shared.isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (shared.isArray(s)) {\n const singleChild = filterSingleRoot(s);\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (shared.isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) ;\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && shared.isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else ;\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, { flush: 'post' });\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, { flush: 'sync' });\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = shared.EMPTY_OBJ) {\n const instance = reactivity.getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;\n // const instance = currentInstance\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (reactivity.isRef(source)) {\n getter = () => source.value;\n forceTrigger = reactivity.isShallow(source);\n }\n else if (reactivity.isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (shared.isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => reactivity.isReactive(s) || reactivity.isShallow(s));\n getter = () => source.map(s => {\n if (reactivity.isRef(s)) {\n return s.value;\n }\n else if (reactivity.isReactive(s)) {\n return traverse(s);\n }\n else if (shared.isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else ;\n });\n }\n else if (shared.isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = shared.NOOP;\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = shared.NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return shared.NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => shared.hasChanged(v, oldValue[i]))\n : shared.hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new reactivity.ReactiveEffect(getter, scheduler);\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n shared.remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = shared.isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (shared.isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!shared.isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (reactivity.isRef(value)) {\n traverse(value.value, seen);\n }\n else if (shared.isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (shared.isSet(value) || shared.isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (shared.isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n child = c;\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = reactivity.toRaw(props);\n const { mode } = rawProps;\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (shared.isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of