{"version":3,"sources":["webpack:///./node_modules/vee-validate/dist/rules.js","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/vue-apollo/dist/vue-apollo.esm.js","webpack:///./node_modules/vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm.js","webpack:///./node_modules/v-line-clamp/dist/index.js"],"names":["alpha","en","cs","da","de","es","fr","it","lt","nl","hu","pl","pt","ru","sk","sr","sv","tr","uk","ar","az","alphaSpaces","alphanumeric","alphaDash","validate","value","_a","_b","locale","Array","isArray","every","val","test","Object","keys","some","loc","params","name","alpha$1","validate$1","params$1","alpha_dash","validate$2","params$2","alpha_num","validate$3","params$3","alpha_spaces","validate$4","min","max","Number","params$4","between","validate$5","target","String","params$5","isTarget","confirmed","validate$6","length","strVal","params$6","cast","digits","validateImage","file","width","height","URL","window","webkitURL","Promise","resolve","image","Image","onerror","onload","src","createObjectURL","validate$7","files","list","i","push","all","map","then","values","v","params$7","dimensions","validate$8","multiple","re","split","emailStr","trim","params$8","default","email","isNullOrUndefined","undefined","isEmptyArray","arr","isCallable","fn","includes","collection","item","indexOf","toArray","arrayLike","from","_copyArray","array","validate$9","options","oneOf","validate$a","args","excluded","validate$b","extensions","regex","RegExp","join","ext","validate$c","validate$d","integer","validate$e","other","params$9","is","validate$f","params$a","is_not","validate$g","params$b","validate$h","params$c","validate$i","params$d","max_value","validate$j","mimes","replace","type","validate$k","params$e","validate$l","params$f","min_value","validate$m","testValue","strValue","numeric","validate$n","params$g","validate$o","allowFalse","result","valid","required","computesRequired","params$h","testEmpty","validate$p","params$i","computesRequired$1","required_if","validate$q","size","isNaN","nSize","params$j","Clipboard","VueClipboardConfig","autoSetContainer","appendToBody","VueClipboard","install","Vue","prototype","$clipboardConfig","$copyText","text","container","reject","fakeElement","document","createElement","clipboard","action","body","on","e","destroy","appendChild","click","removeChild","directive","bind","el","binding","vnode","arg","_vClipboard_success","_vClipboard_error","callback","_vClipboard","update","unbind","config","module","exports","_typeof","obj","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","_defineProperty","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread2","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","_inherits","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","p","_assertThisInitialized","self","ReferenceError","_possibleConstructorReturn","call","_superPropBase","property","hasOwnProperty","_get","receiver","Reflect","get","base","desc","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","arr2","iter","toString","_arr","_n","_d","_e","_s","_i","next","done","err","createCommonjsModule","throttle","delay","noTrailing","debounceMode","timeoutID","cancelled","lastExec","clearExistingTimeout","clearTimeout","cancel","wrapper","this","elapsed","Date","now","exec","clear","setTimeout","debounce","atBegin","index_esm","freeze","utils","Globals","factory","cb","time","getMergedDefinition","def","util","mergeOptions","reapply","context","omit","properties","entries","_ref","_ref2","reduce","c","_ref3","_ref4","addGqlError","error","graphQLErrors","gqlError","noop","utils_1","utils_2","utils_3","utils_5","utils_6","utils_7","SmartApollo","vm","autostart","initialOptions","assign","_skip","_pollInterval","_watchers","_destroyed","lastApolloOptions","_this","skip","_skipWatcher","$watch","skipChanged","immediate","deep","start","pollInterval","_pollWatcher","pollIntervalChanged","oldValue","stopPolling","startPolling","stop","_this2","starting","_loop","_i2","prop","queryCb","query","refresh","$isServer","variables","executeApollo","_i4","_this$_watchers2","unwatch","sub","unsubscribe","apolloOptions","vueApolloSpecialKeys","handlers","catched","_len","_key","_i6","handler","_len2","_key2","callHandlers","$apollo","provider","errorHandler","concat","console","_i8","_error$graphQLErrors2","networkError","_console","set","VUE_APOLLO_QUERY_KEYWORDS","SmartQuery","_SmartApollo","$data","$apolloData","queries","$set","loading","firstRun","_firstRunResolve","_firstRunReject","fetchPolicy","manual","hasDataField","data","loadingDone","observer","variablesJson","JSON","stringify","previousVariablesJson","_this$_linkedSubscrip2","_linkedSubscriptions","watchQuery","generateApolloOptions","startQuerySubscription","notifyOnNetworkStatusChange","currentResult","maySetLoading","nextResult","_this$_linkedSubscrip4","_sub","closed","subscribe","catchError","force","applyLoadingModifier","errors","firstRunReject","Error","message","errorPolicy","hasResultCallback","setData","resubscribeToQuery","lastError","getLastError","lastResult","getLastResult","resetLastResults","watchLoading","loadingKey","firstRunResolve","_this$observer","fetchMore","_this$observer2","subscribeToMore","_this3","refetch","tryFetch","setVariables","setOptions","_this$observer3","_this$observer4","getClient","_loading","SmartSubscription","_getPrototypeOf2","updateQuery","linkedQuery","rcb","ucb","DollarApollo","_apolloSubscriptions","subscriptions","client","clients","_client","defaultClient","observable","_subscribe","mutate","finalOptions","$query","apollo","$options","defaultOptions","smart","prefetch","subs","index","addSmartSubscription","func","_this4","$apolloProvider","skipAllQueries","skipAllSubscriptions","ApolloProvider","warn","isDataFilled","CApolloQuery","provide","getDollarApollo","getApolloQuery","Function","Boolean","clientId","tag","networkStatus","times","watch","$emit","$client","_result","_result2","_result3","$_previousData","dataNotEmpty","fullData","$_times","_error","created","methods","render","h","$scopedSlots","isLoading","$slots","uid","CApolloSubscribeToMore","inject","$_key","mounted","beforeDestroy","$_sub","CApolloMutation","mutation","optimisticResponse","refetchQueries","hasProperty","holder","initProvider","optionValue","apolloProvider","parent","provided","proxyData","$_apolloInitData","charAt","computed","launch","_apolloLaunched","$_apolloPromises","$init","defineReactiveSetter","$skipAll","$deep","$skipAllQueries","$skipAllSubscriptions","$loadingKey","$error","$watchLoading","addSmartQuery","$prefetch","$subscribe","$_apollo","installMixin","vueVersion","mixin","init","beforeCreate","serverPrefetch","destroyed","keywords","installed","version","substr","merge","optionMergeStrategies","toVal","fromVal","toData","fromData","component","GlobalVue","global","use","__assign","t","s","n","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","rejected","__generator","f","y","g","_","label","sent","trys","ops","verb","op","pop","__spreadArrays","il","r","k","a","j","jl","isObject","isEqual","lhs","rhs","flags","isSpecified","isLocator","__locatorRef","findIndex","predicate","find","idx","createFlags","untouched","touched","dirty","pristine","invalid","validated","pending","changed","passed","failed","wait","token","later","timeout","interpolate","template","RULES","normalizeSchema","schema","param","RuleContainer","extend","rule","lazy","isLazy","isRequireRule","getRuleDefinition","ruleName","guardExtend","validator","DEFAULT_CONFIG","defaultMessage","skipOptional","classes","bails","mode","useConstraintAttrs","currentConfig","getConfig","setConfig","newConf","normalizeRules","rules","acc","_$$isNormalized","prev","curr","buildParams","parsedRule","parseRule","ruleSchema","definedParams","lastDefinedParam_1","createLocator","slice","castFn","locator","crossTable","extractLocators","_c","_f","shouldBail","skipIfEmpty","field","failedRules","regenerateMap","_g","forceRequired","names","customMessages","_validate","msg","isInitial","shouldSkip","_shouldSkip","_test","requireRules","isEmpty","isEmptyAndOptional","isRequired","normalizedValue","values_1","castValue","fillTargetValues","_field_","_value_","_rule_","_generateFieldError","ruleTargets","_getRuleTargets","_getUserTargets","userTargets","userMessage","_normalizeMessage","numTargets","ruleConfig","name_1","normalize","aggressive","eager","passive","modes","EVENT_BUS","localeChanged","DICTIONARY","Dictionary","dictionary","format","_h","fields","messages","hasRule","localize","isEvent","evt","Event","srcElement","normalizeEventValue","input","_vModifiers","number","valueAsNumber","parseFloat","trimmedValue","isTextInput","attrs","elm","findModel","nonStandardVNodeData","model","directives","d","findValue","findModelConfig","componentOptions","propsData","propsDataWithValue","domProps","extractChildren","children","extractVNodes","nodes","node","candidates","Ctor","mergeVNodeListeners","eventName","fns","invoker","addNativeNodeListener","addComponentNodeListener","listeners","addVNodeListener","getInputEventName","event_1","event","modifiers","isHTMLNode","resolveTextualRules","pattern","maxlength","minlength","resolveRules","htmlTags","normalizeChildren","slotProps","shouldValidate","ctx","_ignoreImmediate","normalizedEvents","_needsValidation","initialized","createValidationCtx","reset","ariaInput","id","ariaMsg","onRenderUpdate","initialValue","validateNow","triggerThreadSafeValidation","validateSilent","$once","computeModeSetting","compute","pendingPromise","_pendingValidation","applyResult","createCommonHandlers","$veeOnInput","syncValue","setFlags","onInput","$veeOnBlur","onBlur","onValidate","$veeHandler","$veeDebounce","$nextTick","_pendingReset","addListeners","_inputEventName","PROVIDER_COUNTER","fieldName","defaultValues","isActive","ValidationProvider","$_veeObserver","$vnode","createObserver","vid","slim","disabled","oldVal","fieldDeps","normalizedRules","deps","dep","depName","watchCrossFieldDep","_resolvedRules","computeClassObj","onLocaleChanged","_regenerateMap","errors_1","failedRules_1","$on","$off","registerField","resolved","unobserve","activated","deactivated","flag","createLookup","setErrors","updateRenderingContextRefs","_loop_1","className","cls","providers","refs","reduced","extractId","providedId","observe","withHooks","_veeWatchers","FLAGS_STRATEGIES","OBSERVER_COUNTER","data$1","createObserverFlags","observers","provideSelf","ValidationObserver","register","onChange","computeObserverState","unregister","prepareSlotProps","$listeners","subscriber","kind","splice","$delete","silent","results","ref","obs","handleSubmit","isValid","errorArr","passes","vms","method","numberFormatKeys","stack","OBJECT_STRING","isPlainObject","isNull","parseArgs","len","looseClone","parse","remove","hasOwn","arguments$1","output","looseEqual","b","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","_i18n","$t","i18n","$i18n","_t","_getMessages","$tc","choice","_tc","$te","_te","$d","$n","__i18n","VueI18n","localeMessages","resource","mergeLocaleMessage","_i18nWatcher","watchI18nData","$root","root","formatter","fallbackLocale","formatFallbackMessages","silentTranslationWarn","silentFallbackWarn","pluralizationRules","preserveDirectiveContent","localeMessages$1","sharedMessages","sync","_localeWatcher","watchLocale","beforeMount","subscribeDataChanging","_subscribing","unsubscribeDataChanging","destroyVM","interpolationComponent","functional","path","places","slots","onlyHasDefaultPlace","useLegacyPlaces","createParamsFromPlaces","child","everyPlace","vnodeHasPlaceAttribute","assignChildPlace","assignChildIndex","place","numberComponent","parts","_ntp","part","slot","scopedSlots","staticClass","assert","oldVNode","localeEqual","_localeMessage","getLocaleMessage","preserve","textContent","_vt","_locale","ref$1","ref$2","parseValue","tc","makeParams","_Vue","strats","parentVal","childVal","BaseFormatter","_caches","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","position","char","isClosed","compiled","parseInt","APPEND","PUSH","INC_SUB_PATH_DEPTH","PUSH_SUB_PATH","BEFORE_PATH","IN_PATH","BEFORE_IDENT","IN_IDENT","IN_SUB_PATH","IN_SINGLE_QUOTE","IN_DOUBLE_QUOTE","AFTER_PATH","ERROR","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","str","charCodeAt","getPathCharType","ch","code","formatSubPath","trimmed","parse$1","newChar","transition","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","I18nPath","_cache","parsePath","hit","getPathValue","paths","last","availabilities","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","toLocaleUpperCase","toLocaleLowerCase","defaultFormatter","this$1","dateTimeFormats","numberFormats","_vm","_formatter","_modifiers","_missing","missing","_root","_sync","_fallbackRoot","fallbackRoot","_formatFallbackMessages","_silentTranslationWarn","_silentFallbackWarn","_dateTimeFormatters","_numberFormatters","_path","_dataListeners","_preserveDirectiveContent","_warnHtmlInMessage","warnHtmlInMessage","_exist","_checkLocaleMessage","_initVM","prototypeAccessors","availableLocales","level","ret","$destroy","nextTick","$forceUpdate","_getDateTimeFormats","_getNumberFormats","sort","fallback","orgLevel","_warnDefault","missingRet","parsedArgs","_render","_isFallbackRoot","_isSilentFallbackWarn","_isSilentFallback","_isSilentTranslationWarn","_interpolate","host","interpolateMode","visitedLinkStack","pathRet","_link","matches","match","link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","translated","_translate","res","predefined","fetchChoice","choices","getChoiceIndex","choicesLength","defaultImpl","_choice","_choicesLength","Math","abs","te","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","_localizeDateTime","formats","Intl","DateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","_getNumberFormatter","NumberFormat","numberFormat","nf","formatToParts","intlDefined","dateTimeFormat","addStyle","style","lineClamp"],"mappings":"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","file":"js/chunk-vendors~5068d5f8.2e5b0873.js","sourcesContent":["/**\n * vee-validate v3.2.3\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\n/**\r\n * Some Alpha Regex helpers.\r\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\r\n */\r\nvar alpha = {\r\n en: /^[A-Z]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[A-ZÆØÅ]*$/i,\r\n de: /^[A-ZÄÖÜß]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ru: /^[А-ЯЁ]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[A-ZÅÄÖ]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i\r\n};\r\nvar alphaSpaces = {\r\n en: /^[A-Z\\s]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\r\n da: /^[A-ZÆØÅ\\s]*$/i,\r\n de: /^[A-ZÄÖÜß\\s]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\r\n ru: /^[А-ЯЁ\\s]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\r\n sv: /^[A-ZÅÄÖ\\s]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i\r\n};\r\nvar alphanumeric = {\r\n en: /^[0-9A-Z]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[0-9A-ZÆØÅ]$/i,\r\n de: /^[0-9A-ZÄÖÜß]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ru: /^[0-9А-ЯЁ]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i\r\n};\r\nvar alphaDash = {\r\n en: /^[0-9A-Z_-]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\r\n da: /^[0-9A-ZÆØÅ_-]*$/i,\r\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\r\n ru: /^[0-9А-ЯЁ_-]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i\r\n};\n\nvar validate = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\r\n }\r\n return (alpha[locale] || alpha.en).test(value);\r\n};\r\nvar params = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha$1 = {\r\n validate: validate,\r\n params: params\r\n};\n\nvar validate$1 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$1(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\r\n }\r\n return (alphaDash[locale] || alphaDash.en).test(value);\r\n};\r\nvar params$1 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_dash = {\r\n validate: validate$1,\r\n params: params$1\r\n};\n\nvar validate$2 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$2(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\r\n }\r\n return (alphanumeric[locale] || alphanumeric.en).test(value);\r\n};\r\nvar params$2 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_num = {\r\n validate: validate$2,\r\n params: params$2\r\n};\n\nvar validate$3 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$3(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\r\n }\r\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\r\n};\r\nvar params$3 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_spaces = {\r\n validate: validate$3,\r\n params: params$3\r\n};\n\nvar validate$4 = function (value, _a) {\r\n var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return !!validate$4(val, { min: min, max: max }); });\r\n }\r\n return Number(min) <= value && Number(max) >= value;\r\n};\r\nvar params$4 = [\r\n {\r\n name: 'min'\r\n },\r\n {\r\n name: 'max'\r\n }\r\n];\r\nvar between = {\r\n validate: validate$4,\r\n params: params$4\r\n};\n\nvar validate$5 = function (value, _a) {\r\n var target = _a.target;\r\n return String(value) === String(target);\r\n};\r\nvar params$5 = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n }\r\n];\r\nvar confirmed = {\r\n validate: validate$5,\r\n params: params$5\r\n};\n\nvar validate$6 = function (value, _a) {\r\n var length = _a.length;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$6(val, { length: length }); });\r\n }\r\n var strVal = String(value);\r\n return /^[0-9]*$/.test(strVal) && strVal.length === length;\r\n};\r\nvar params$6 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar digits = {\r\n validate: validate$6,\r\n params: params$6\r\n};\n\nvar validateImage = function (file, width, height) {\r\n var URL = window.URL || window.webkitURL;\r\n return new Promise(function (resolve) {\r\n var image = new Image();\r\n image.onerror = function () { return resolve(false); };\r\n image.onload = function () { return resolve(image.width === width && image.height === height); };\r\n image.src = URL.createObjectURL(file);\r\n });\r\n};\r\nvar validate$7 = function (files, _a) {\r\n var width = _a.width, height = _a.height;\r\n var list = [];\r\n files = Array.isArray(files) ? files : [files];\r\n for (var i = 0; i < files.length; i++) {\r\n // if file is not an image, reject.\r\n if (!/\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) {\r\n return Promise.resolve(false);\r\n }\r\n list.push(files[i]);\r\n }\r\n return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) {\r\n return values.every(function (v) { return v; });\r\n });\r\n};\r\nvar params$7 = [\r\n {\r\n name: 'width',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n },\r\n {\r\n name: 'height',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar dimensions = {\r\n validate: validate$7,\r\n params: params$7\r\n};\n\nvar validate$8 = function (value, _a) {\r\n var multiple = (_a === void 0 ? {} : _a).multiple;\r\n // eslint-disable-next-line\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (multiple && !Array.isArray(value)) {\r\n value = String(value)\r\n .split(',')\r\n .map(function (emailStr) { return emailStr.trim(); });\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return re.test(String(val)); });\r\n }\r\n return re.test(String(value));\r\n};\r\nvar params$8 = [\r\n {\r\n name: 'multiple',\r\n default: false\r\n }\r\n];\r\nvar email = {\r\n validate: validate$8,\r\n params: params$8\r\n};\n\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\n\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\n\nvar validate$9 = function (value, options) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$9(val, options); });\r\n }\r\n return toArray(options).some(function (item) {\r\n // eslint-disable-next-line\r\n return item == value;\r\n });\r\n};\r\nvar oneOf = {\r\n validate: validate$9\r\n};\n\nvar validate$a = function (value, args) {\r\n return !validate$9(value, args);\r\n};\r\nvar excluded = {\r\n validate: validate$a\r\n};\n\nvar validate$b = function (files, extensions) {\r\n var regex = new RegExp(\".(\" + extensions.join('|') + \")$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar ext = {\r\n validate: validate$b\r\n};\n\nvar validate$c = function (files) {\r\n var regex = /\\.(jpg|svg|jpeg|png|bmp|gif)$/i;\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar image = {\r\n validate: validate$c\r\n};\n\nvar validate$d = function (value) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\r\n }\r\n return /^-?[0-9]+$/.test(String(value));\r\n};\r\nvar integer = {\r\n validate: validate$d\r\n};\n\nvar validate$e = function (value, _a) {\r\n var other = _a.other;\r\n return value === other;\r\n};\r\nvar params$9 = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is = {\r\n validate: validate$e,\r\n params: params$9\r\n};\n\nvar validate$f = function (value, _a) {\r\n var other = _a.other;\r\n return value !== other;\r\n};\r\nvar params$a = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is_not = {\r\n validate: validate$f,\r\n params: params$a\r\n};\n\nvar validate$g = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof value === 'number') {\r\n value = String(value);\r\n }\r\n if (!value.length) {\r\n value = toArray(value);\r\n }\r\n return value.length === length;\r\n};\r\nvar params$b = [\r\n {\r\n name: 'length',\r\n cast: function (value) { return Number(value); }\r\n }\r\n];\r\nvar length = {\r\n validate: validate$g,\r\n params: params$b\r\n};\n\nvar validate$h = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return length >= 0;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$h(val, { length: length }); });\r\n }\r\n return String(value).length <= length;\r\n};\r\nvar params$c = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max = {\r\n validate: validate$h,\r\n params: params$c\r\n};\n\nvar validate$i = function (value, _a) {\r\n var max = _a.max;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$i(val, { max: max }); });\r\n }\r\n return Number(value) <= max;\r\n};\r\nvar params$d = [\r\n {\r\n name: 'max',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max_value = {\r\n validate: validate$i,\r\n params: params$d\r\n};\n\nvar validate$j = function (files, mimes) {\r\n var regex = new RegExp(mimes.join('|').replace('*', '.+') + \"$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.type); });\r\n }\r\n return regex.test(files.type);\r\n};\r\nvar mimes = {\r\n validate: validate$j\r\n};\n\nvar validate$k = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$k(val, { length: length }); });\r\n }\r\n return String(value).length >= length;\r\n};\r\nvar params$e = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min = {\r\n validate: validate$k,\r\n params: params$e\r\n};\n\nvar validate$l = function (value, _a) {\r\n var min = _a.min;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$l(val, { min: min }); });\r\n }\r\n return Number(value) >= min;\r\n};\r\nvar params$f = [\r\n {\r\n name: 'min',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min_value = {\r\n validate: validate$l,\r\n params: params$f\r\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\r\nvar en = /^[0-9]+$/;\r\nvar validate$m = function (value) {\r\n var testValue = function (val) {\r\n var strValue = String(val);\r\n return en.test(strValue) || ar.test(strValue);\r\n };\r\n if (Array.isArray(value)) {\r\n return value.every(testValue);\r\n }\r\n return testValue(value);\r\n};\r\nvar numeric = {\r\n validate: validate$m\r\n};\n\nvar validate$n = function (value, _a) {\r\n var regex = _a.regex;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$n(val, { regex: regex }); });\r\n }\r\n return regex.test(String(value));\r\n};\r\nvar params$g = [\r\n {\r\n name: 'regex',\r\n cast: function (value) {\r\n if (typeof value === 'string') {\r\n return new RegExp(value);\r\n }\r\n return value;\r\n }\r\n }\r\n];\r\nvar regex = {\r\n validate: validate$n,\r\n params: params$g\r\n};\n\nvar validate$o = function (value, _a) {\r\n var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse;\r\n var result = {\r\n valid: false,\r\n required: true\r\n };\r\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\r\n return result;\r\n }\r\n // incase a field considers `false` as an empty value like checkboxes.\r\n if (value === false && !allowFalse) {\r\n return result;\r\n }\r\n result.valid = !!String(value).trim().length;\r\n return result;\r\n};\r\nvar computesRequired = true;\r\nvar params$h = [\r\n {\r\n name: 'allowFalse',\r\n default: true\r\n }\r\n];\r\nvar required = {\r\n validate: validate$o,\r\n params: params$h,\r\n computesRequired: computesRequired\r\n};\n\nvar testEmpty = function (value) {\r\n return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length;\r\n};\r\nvar validate$p = function (value, _a) {\r\n var target = _a.target, values = _a.values;\r\n var required;\r\n if (values && values.length) {\r\n if (!Array.isArray(values) && typeof values === 'string') {\r\n values = [values];\r\n }\r\n // eslint-disable-next-line\r\n required = values.some(function (val) { return val == String(target).trim(); });\r\n }\r\n else {\r\n required = !testEmpty(target);\r\n }\r\n if (!required) {\r\n return {\r\n valid: true,\r\n required: required\r\n };\r\n }\r\n return {\r\n valid: !testEmpty(value),\r\n required: required\r\n };\r\n};\r\nvar params$i = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n },\r\n {\r\n name: 'values'\r\n }\r\n];\r\nvar computesRequired$1 = true;\r\nvar required_if = {\r\n validate: validate$p,\r\n params: params$i,\r\n computesRequired: computesRequired$1\r\n};\n\nvar validate$q = function (files, _a) {\r\n var size = _a.size;\r\n if (isNaN(size)) {\r\n return false;\r\n }\r\n var nSize = size * 1024;\r\n if (!Array.isArray(files)) {\r\n return files.size <= nSize;\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n if (files[i].size > nSize) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\nvar params$j = [\r\n {\r\n name: 'size',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar size = {\r\n validate: validate$q,\r\n params: params$j\r\n};\n\nexport { alpha$1 as alpha, alpha_dash, alpha_num, alpha_spaces, between, confirmed, digits, dimensions, email, excluded, ext, image, integer, is, is_not, length, max, max_value, mimes, min, min_value, numeric, oneOf, regex, required, required_if, size };\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 Vue.prototype.$clipboardConfig = VueClipboardConfig\n Vue.prototype.$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 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","import gql from 'graphql-tag';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, 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 _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\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) {\n return;\n }\n\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nfunction throttle(delay, noTrailing, callback, debounceMode) {\n /*\n * After wrapper has stopped being called, this timeout ensures that\n * `callback` is executed at the proper times in `throttle` and `end`\n * debounce modes.\n */\n var timeoutID;\n var cancelled = false; // Keep track of the last time `callback` was executed.\n\n var lastExec = 0; // Function to clear existing timeout\n\n function clearExistingTimeout() {\n if (timeoutID) {\n clearTimeout(timeoutID);\n }\n } // Function to cancel next exec\n\n\n function cancel() {\n clearExistingTimeout();\n cancelled = true;\n } // `noTrailing` defaults to falsy.\n\n\n if (typeof noTrailing !== 'boolean') {\n debounceMode = callback;\n callback = noTrailing;\n noTrailing = undefined;\n }\n /*\n * The `wrapper` function encapsulates all of the throttling / debouncing\n * functionality and when executed will limit the rate at which `callback`\n * is executed.\n */\n\n\n function wrapper() {\n var self = this;\n var elapsed = Date.now() - lastExec;\n var args = arguments;\n\n if (cancelled) {\n return;\n } // Execute `callback` and update the `lastExec` timestamp.\n\n\n function exec() {\n lastExec = Date.now();\n callback.apply(self, args);\n }\n /*\n * If `debounceMode` is true (at begin) this is used to clear the flag\n * to allow future `callback` executions.\n */\n\n\n function clear() {\n timeoutID = undefined;\n }\n\n if (debounceMode && !timeoutID) {\n /*\n * Since `wrapper` is being called for the first time and\n * `debounceMode` is true (at begin), execute `callback`.\n */\n exec();\n }\n\n clearExistingTimeout();\n\n if (debounceMode === undefined && elapsed > delay) {\n /*\n * In throttle mode, if `delay` time has been exceeded, execute\n * `callback`.\n */\n exec();\n } else if (noTrailing !== true) {\n /*\n * In trailing throttle mode, since `delay` time has not been\n * exceeded, schedule `callback` to execute `delay` ms after most\n * recent execution.\n *\n * If `debounceMode` is true (at begin), schedule `clear` to execute\n * after `delay` ms.\n *\n * If `debounceMode` is false (at end), schedule `callback` to\n * execute after `delay` ms.\n */\n timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n }\n }\n\n wrapper.cancel = cancel; // Return the wrapper function.\n\n return wrapper;\n}\n/* eslint-disable no-undefined */\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\n\n\nfunction debounce(delay, atBegin, callback) {\n return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n}\n\nvar index_esm = /*#__PURE__*/Object.freeze({\n __proto__: null,\n throttle: throttle,\n debounce: debounce\n});\n\nvar utils = createCommonjsModule(function (module, exports) {\n var Globals = exports.Globals = {};\n\n function factory(action) {\n return function (cb, time) {\n return action(time, cb);\n };\n }\n\n exports.throttle = factory(index_esm.throttle);\n exports.debounce = factory(index_esm.debounce);\n\n exports.getMergedDefinition = function (def) {\n return Globals.Vue.util.mergeOptions({}, def);\n };\n\n exports.reapply = function (options, context) {\n while (typeof options === 'function') {\n options = options.call(context);\n }\n\n return options;\n };\n\n exports.omit = function (obj, properties) {\n return Object.entries(obj).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n\n return !properties.includes(key);\n }).reduce(function (c, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n val = _ref4[1];\n\n c[key] = val;\n return c;\n }, {});\n };\n\n exports.addGqlError = function (error) {\n if (error.graphQLErrors && error.graphQLErrors.length) {\n error.gqlError = error.graphQLErrors[0];\n }\n };\n\n exports.noop = function () {};\n});\nvar utils_1 = utils.Globals;\nvar utils_2 = utils.throttle;\nvar utils_3 = utils.debounce;\nvar utils_4 = utils.getMergedDefinition;\nvar utils_5 = utils.reapply;\nvar utils_6 = utils.omit;\nvar utils_7 = utils.addGqlError;\nvar utils_8 = utils.noop;\n\nvar SmartApollo =\n/*#__PURE__*/\nfunction () {\n function SmartApollo(vm, key, options) {\n var autostart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n _classCallCheck(this, SmartApollo);\n\n _defineProperty(this, \"type\", null);\n\n _defineProperty(this, \"vueApolloSpecialKeys\", []);\n\n this.vm = vm;\n this.key = key;\n this.initialOptions = options;\n this.options = Object.assign({}, options);\n this._skip = false;\n this._pollInterval = null;\n this._watchers = [];\n this._destroyed = false;\n this.lastApolloOptions = null;\n\n if (autostart) {\n this.autostart();\n }\n }\n\n _createClass(SmartApollo, [{\n key: \"autostart\",\n value: function autostart() {\n var _this = this;\n\n if (typeof this.options.skip === 'function') {\n this._skipWatcher = this.vm.$watch(function () {\n return _this.options.skip.call(_this.vm, _this.vm, _this.key);\n }, this.skipChanged.bind(this), {\n immediate: true,\n deep: this.options.deep\n });\n } else if (!this.options.skip) {\n this.start();\n } else {\n this._skip = true;\n }\n\n if (typeof this.options.pollInterval === 'function') {\n this._pollWatcher = this.vm.$watch(this.options.pollInterval.bind(this.vm), this.pollIntervalChanged.bind(this), {\n immediate: true\n });\n }\n }\n }, {\n key: \"pollIntervalChanged\",\n value: function pollIntervalChanged(value, oldValue) {\n if (value !== oldValue) {\n this.pollInterval = value;\n\n if (value == null) {\n this.stopPolling();\n } else {\n this.startPolling(value);\n }\n }\n }\n }, {\n key: \"skipChanged\",\n value: function skipChanged(value, oldValue) {\n if (value !== oldValue) {\n this.skip = value;\n }\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n if (!this._skip) {\n this.stop();\n this.start();\n }\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n this.starting = true; // Reactive options\n\n var _loop = function _loop(_i2, _ref2) {\n var prop = _ref2[_i2];\n\n if (typeof _this2.initialOptions[prop] === 'function') {\n var queryCb = _this2.initialOptions[prop].bind(_this2.vm);\n\n _this2.options[prop] = queryCb();\n\n var cb = function cb(query) {\n _this2.options[prop] = query;\n\n _this2.refresh();\n };\n\n if (!_this2.vm.$isServer) {\n cb = _this2.options.throttle ? utils_2(cb, _this2.options.throttle) : cb;\n cb = _this2.options.debounce ? utils_3(cb, _this2.options.debounce) : cb;\n }\n\n _this2._watchers.push(_this2.vm.$watch(queryCb, cb, {\n deep: _this2.options.deep\n }));\n }\n };\n\n for (var _i2 = 0, _ref2 = ['query', 'document', 'context']; _i2 < _ref2.length; _i2++) {\n _loop(_i2, _ref2);\n } // GraphQL Variables\n\n\n if (typeof this.options.variables === 'function') {\n var cb = this.executeApollo.bind(this);\n\n if (!this.vm.$isServer) {\n cb = this.options.throttle ? utils_2(cb, this.options.throttle) : cb;\n cb = this.options.debounce ? utils_3(cb, this.options.debounce) : cb;\n }\n\n this._watchers.push(this.vm.$watch(function () {\n return _this2.options.variables.call(_this2.vm);\n }, cb, {\n immediate: true,\n deep: this.options.deep\n }));\n } else {\n this.executeApollo(this.options.variables);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n for (var _i4 = 0, _this$_watchers2 = this._watchers; _i4 < _this$_watchers2.length; _i4++) {\n var unwatch = _this$_watchers2[_i4];\n unwatch();\n }\n\n if (this.sub) {\n this.sub.unsubscribe();\n this.sub = null;\n }\n }\n }, {\n key: \"generateApolloOptions\",\n value: function generateApolloOptions(variables) {\n var apolloOptions = utils_6(this.options, this.vueApolloSpecialKeys);\n apolloOptions.variables = variables;\n this.lastApolloOptions = apolloOptions;\n return apolloOptions;\n }\n }, {\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n this.starting = false;\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(result) {\n var error = result.error;\n if (error) utils_7(error);\n }\n }, {\n key: \"callHandlers\",\n value: function callHandlers(handlers) {\n var catched = false;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n for (var _i6 = 0; _i6 < handlers.length; _i6++) {\n var handler = handlers[_i6];\n\n if (handler) {\n catched = true;\n var result = handler.apply(this.vm, args);\n\n if (typeof result !== 'undefined' && !result) {\n break;\n }\n }\n }\n\n return catched;\n }\n }, {\n key: \"errorHandler\",\n value: function errorHandler() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.callHandlers.apply(this, [[this.options.error, this.vm.$apollo.error, this.vm.$apollo.provider.errorHandler]].concat(args));\n }\n }, {\n key: \"catchError\",\n value: function catchError(error) {\n utils_7(error);\n var catched = this.errorHandler(error, this.vm, this.key, this.type, this.lastApolloOptions);\n if (catched) return;\n\n if (error.graphQLErrors && error.graphQLErrors.length !== 0) {\n console.error(\"GraphQL execution errors for \".concat(this.type, \" '\").concat(this.key, \"'\"));\n\n for (var _i8 = 0, _error$graphQLErrors2 = error.graphQLErrors; _i8 < _error$graphQLErrors2.length; _i8++) {\n var e = _error$graphQLErrors2[_i8];\n console.error(e);\n }\n } else if (error.networkError) {\n console.error(\"Error sending the \".concat(this.type, \" '\").concat(this.key, \"'\"), error.networkError);\n } else {\n console.error(\"[vue-apollo] An error has occurred for \".concat(this.type, \" '\").concat(this.key, \"'\"));\n\n if (Array.isArray(error)) {\n var _console;\n\n (_console = console).error.apply(_console, _toConsumableArray(error));\n } else {\n console.error(error);\n }\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n if (this._destroyed) return;\n this._destroyed = true;\n this.stop();\n\n if (this._skipWatcher) {\n this._skipWatcher();\n }\n }\n }, {\n key: \"pollInterval\",\n get: function get() {\n return this._pollInterval;\n },\n set: function set(value) {\n this._pollInterval = value;\n }\n }, {\n key: \"skip\",\n get: function get() {\n return this._skip;\n },\n set: function set(value) {\n if (value) {\n this.stop();\n } else {\n this.start();\n }\n\n this._skip = value;\n }\n }]);\n\n return SmartApollo;\n}();\n\nvar VUE_APOLLO_QUERY_KEYWORDS = ['variables', 'watch', 'update', 'result', 'error', 'loadingKey', 'watchLoading', 'skip', 'throttle', 'debounce', 'subscribeToMore', 'prefetch', 'manual'];\n\nvar SmartQuery =\n/*#__PURE__*/\nfunction (_SmartApollo) {\n _inherits(SmartQuery, _SmartApollo);\n\n function SmartQuery(vm, key, options) {\n var _this;\n\n var autostart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n\n _classCallCheck(this, SmartQuery);\n\n // Add reactive data related to the query\n if (vm.$data.$apolloData && !vm.$data.$apolloData.queries[key]) {\n vm.$set(vm.$data.$apolloData.queries, key, {\n loading: false\n });\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SmartQuery).call(this, vm, key, options, false));\n\n _defineProperty(_assertThisInitialized(_this), \"type\", 'query');\n\n _defineProperty(_assertThisInitialized(_this), \"vueApolloSpecialKeys\", VUE_APOLLO_QUERY_KEYWORDS);\n\n _defineProperty(_assertThisInitialized(_this), \"_loading\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"_linkedSubscriptions\", []);\n\n if (vm.$isServer) {\n _this.firstRun = new Promise(function (resolve, reject) {\n _this._firstRunResolve = resolve;\n _this._firstRunReject = reject;\n });\n }\n\n if (_this.vm.$isServer) {\n _this.options.fetchPolicy = 'network-only';\n }\n\n if (!options.manual) {\n _this.hasDataField = _this.vm.$data.hasOwnProperty(key);\n\n if (_this.hasDataField) {\n Object.defineProperty(_this.vm.$data.$apolloData.data, key, {\n get: function get() {\n return _this.vm.$data[key];\n },\n enumerable: true,\n configurable: true\n });\n } else {\n Object.defineProperty(_this.vm.$data, key, {\n get: function get() {\n return _this.vm.$data.$apolloData.data[key];\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n\n if (autostart) {\n _this.autostart();\n }\n\n return _this;\n }\n\n _createClass(SmartQuery, [{\n key: \"stop\",\n value: function stop() {\n _get(_getPrototypeOf(SmartQuery.prototype), \"stop\", this).call(this);\n\n this.loadingDone();\n\n if (this.observer) {\n this.observer.stopPolling();\n this.observer = null;\n }\n }\n }, {\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n var variablesJson = JSON.stringify(variables);\n\n if (this.sub) {\n if (variablesJson === this.previousVariablesJson) {\n return;\n }\n\n this.sub.unsubscribe(); // Subscribe to more subs\n\n for (var _i2 = 0, _this$_linkedSubscrip2 = this._linkedSubscriptions; _i2 < _this$_linkedSubscrip2.length; _i2++) {\n var sub = _this$_linkedSubscrip2[_i2];\n sub.stop();\n }\n }\n\n this.previousVariablesJson = variablesJson; // Create observer\n\n this.observer = this.vm.$apollo.watchQuery(this.generateApolloOptions(variables));\n this.startQuerySubscription();\n\n if (this.options.fetchPolicy !== 'no-cache' || this.options.notifyOnNetworkStatusChange) {\n var currentResult = this.maySetLoading();\n\n if (!currentResult.loading || this.options.notifyOnNetworkStatusChange) {\n this.nextResult(currentResult);\n }\n }\n\n _get(_getPrototypeOf(SmartQuery.prototype), \"executeApollo\", this).call(this, variables); // Subscribe to more subs\n\n\n for (var _i4 = 0, _this$_linkedSubscrip4 = this._linkedSubscriptions; _i4 < _this$_linkedSubscrip4.length; _i4++) {\n var _sub = _this$_linkedSubscrip4[_i4];\n\n _sub.start();\n }\n }\n }, {\n key: \"startQuerySubscription\",\n value: function startQuerySubscription() {\n if (this.sub && !this.sub.closed) return; // Create subscription\n\n this.sub = this.observer.subscribe({\n next: this.nextResult.bind(this),\n error: this.catchError.bind(this)\n });\n }\n }, {\n key: \"maySetLoading\",\n value: function maySetLoading() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var currentResult = this.observer.currentResult();\n\n if (force || currentResult.loading) {\n if (!this.loading) {\n this.applyLoadingModifier(1);\n }\n\n this.loading = true;\n }\n\n return currentResult;\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(result) {\n _get(_getPrototypeOf(SmartQuery.prototype), \"nextResult\", this).call(this, result);\n\n var data = result.data,\n loading = result.loading,\n error = result.error,\n errors = result.errors;\n\n if (error || errors) {\n this.firstRunReject();\n }\n\n if (!loading) {\n this.loadingDone();\n } // If `errorPolicy` is set to `all`, an error won't be thrown\n // Instead result will have an `errors` array of GraphQL Errors\n // so we need to reconstruct an error object similar to the normal one\n\n\n if (errors && errors.length) {\n var e = new Error(\"GraphQL error: \".concat(errors.map(function (e) {\n return e.message;\n }).join(' | ')));\n Object.assign(e, {\n graphQLErrors: errors,\n networkError: null\n }); // We skip query catchError logic\n // as we only want to dispatch the error\n\n _get(_getPrototypeOf(SmartQuery.prototype), \"catchError\", this).call(this, e);\n }\n\n if (this.observer.options.errorPolicy === 'none' && (error || errors)) {\n // Don't apply result\n return;\n }\n\n var hasResultCallback = typeof this.options.result === 'function';\n\n if (data == null) ; else if (!this.options.manual) {\n if (typeof this.options.update === 'function') {\n this.setData(this.options.update.call(this.vm, data));\n } else if (typeof data[this.key] === 'undefined' && Object.keys(data).length) {\n console.error(\"Missing \".concat(this.key, \" attribute on result\"), data);\n } else {\n this.setData(data[this.key]);\n }\n } else if (!hasResultCallback) {\n console.error(\"\".concat(this.key, \" query must have a 'result' hook in manual mode\"));\n }\n\n if (hasResultCallback) {\n this.options.result.call(this.vm, result, this.key);\n }\n }\n }, {\n key: \"setData\",\n value: function setData(value) {\n this.vm.$set(this.hasDataField ? this.vm.$data : this.vm.$data.$apolloData.data, this.key, value);\n }\n }, {\n key: \"catchError\",\n value: function catchError(error) {\n _get(_getPrototypeOf(SmartQuery.prototype), \"catchError\", this).call(this, error);\n\n this.firstRunReject();\n this.loadingDone(error);\n this.nextResult(this.observer.currentResult()); // The observable closes the sub if an error occurs\n\n this.resubscribeToQuery();\n }\n }, {\n key: \"resubscribeToQuery\",\n value: function resubscribeToQuery() {\n var lastError = this.observer.getLastError();\n var lastResult = this.observer.getLastResult();\n this.observer.resetLastResults();\n this.startQuerySubscription();\n Object.assign(this.observer, {\n lastError: lastError,\n lastResult: lastResult\n });\n }\n }, {\n key: \"watchLoading\",\n value: function watchLoading() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.callHandlers.apply(this, [[this.options.watchLoading, this.vm.$apollo.watchLoading, this.vm.$apollo.provider.watchLoading]].concat(args, [this]));\n }\n }, {\n key: \"applyLoadingModifier\",\n value: function applyLoadingModifier(value) {\n var loadingKey = this.loadingKey;\n\n if (loadingKey && typeof this.vm[loadingKey] === 'number') {\n this.vm[loadingKey] += value;\n }\n\n this.watchLoading(value === 1, value);\n }\n }, {\n key: \"loadingDone\",\n value: function loadingDone() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (this.loading) {\n this.applyLoadingModifier(-1);\n }\n\n this.loading = false;\n\n if (!error) {\n this.firstRunResolve();\n }\n }\n }, {\n key: \"fetchMore\",\n value: function fetchMore() {\n var _this2 = this;\n\n if (this.observer) {\n var _this$observer;\n\n this.maySetLoading(true);\n return (_this$observer = this.observer).fetchMore.apply(_this$observer, arguments).then(function (result) {\n if (!result.loading) {\n _this2.loadingDone();\n }\n\n return result;\n });\n }\n }\n }, {\n key: \"subscribeToMore\",\n value: function subscribeToMore() {\n if (this.observer) {\n var _this$observer2;\n\n return {\n unsubscribe: (_this$observer2 = this.observer).subscribeToMore.apply(_this$observer2, arguments)\n };\n }\n }\n }, {\n key: \"refetch\",\n value: function refetch(variables) {\n var _this3 = this;\n\n variables && (this.options.variables = variables);\n\n if (this.observer) {\n var result = this.observer.refetch(variables).then(function (result) {\n if (!result.loading) {\n _this3.loadingDone();\n }\n\n return result;\n });\n this.maySetLoading();\n return result;\n }\n }\n }, {\n key: \"setVariables\",\n value: function setVariables(variables, tryFetch) {\n this.options.variables = variables;\n\n if (this.observer) {\n var result = this.observer.setVariables(variables, tryFetch);\n this.maySetLoading();\n return result;\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n Object.assign(this.options, options);\n\n if (this.observer) {\n var result = this.observer.setOptions(options);\n this.maySetLoading();\n return result;\n }\n }\n }, {\n key: \"startPolling\",\n value: function startPolling() {\n if (this.observer) {\n var _this$observer3;\n\n return (_this$observer3 = this.observer).startPolling.apply(_this$observer3, arguments);\n }\n }\n }, {\n key: \"stopPolling\",\n value: function stopPolling() {\n if (this.observer) {\n var _this$observer4;\n\n return (_this$observer4 = this.observer).stopPolling.apply(_this$observer4, arguments);\n }\n }\n }, {\n key: \"firstRunResolve\",\n value: function firstRunResolve() {\n if (this._firstRunResolve) {\n this._firstRunResolve();\n\n this._firstRunResolve = null;\n }\n }\n }, {\n key: \"firstRunReject\",\n value: function firstRunReject(error) {\n if (this._firstRunReject) {\n this._firstRunReject(error);\n\n this._firstRunReject = null;\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(SmartQuery.prototype), \"destroy\", this).call(this);\n\n if (this.loading) {\n this.watchLoading(false, -1);\n }\n\n this.loading = false;\n }\n }, {\n key: \"client\",\n get: function get() {\n return this.vm.$apollo.getClient(this.options);\n }\n }, {\n key: \"loading\",\n get: function get() {\n return this.vm.$data.$apolloData && this.vm.$data.$apolloData.queries[this.key] ? this.vm.$data.$apolloData.queries[this.key].loading : this._loading;\n },\n set: function set(value) {\n if (this._loading !== value) {\n this._loading = value;\n\n if (this.vm.$data.$apolloData && this.vm.$data.$apolloData.queries[this.key]) {\n this.vm.$data.$apolloData.queries[this.key].loading = value;\n this.vm.$data.$apolloData.loading += value ? 1 : -1;\n }\n }\n }\n }, {\n key: \"loadingKey\",\n get: function get() {\n return this.options.loadingKey || this.vm.$apollo.loadingKey;\n }\n }]);\n\n return SmartQuery;\n}(SmartApollo);\n\nvar SmartSubscription =\n/*#__PURE__*/\nfunction (_SmartApollo) {\n _inherits(SmartSubscription, _SmartApollo);\n\n function SmartSubscription() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, SmartSubscription);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(SmartSubscription)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"type\", 'subscription');\n\n _defineProperty(_assertThisInitialized(_this), \"vueApolloSpecialKeys\", ['variables', 'result', 'error', 'throttle', 'debounce', 'linkedQuery']);\n\n return _this;\n }\n\n _createClass(SmartSubscription, [{\n key: \"executeApollo\",\n value: function executeApollo(variables) {\n var variablesJson = JSON.stringify(variables);\n\n if (this.sub) {\n // do nothing if subscription is already running using exactly the same variables\n if (variablesJson === this.previousVariablesJson) {\n return;\n }\n\n this.sub.unsubscribe();\n }\n\n this.previousVariablesJson = variablesJson;\n var apolloOptions = this.generateApolloOptions(variables);\n\n if (typeof apolloOptions.updateQuery === 'function') {\n apolloOptions.updateQuery = apolloOptions.updateQuery.bind(this.vm);\n }\n\n if (this.options.linkedQuery) {\n if (typeof this.options.result === 'function') {\n var rcb = this.options.result.bind(this.vm);\n var ucb = apolloOptions.updateQuery && apolloOptions.updateQuery.bind(this.vm);\n\n apolloOptions.updateQuery = function () {\n rcb.apply(void 0, arguments);\n return ucb && ucb.apply(void 0, arguments);\n };\n }\n\n this.sub = this.options.linkedQuery.subscribeToMore(apolloOptions);\n } else {\n // Create observer\n this.observer = this.vm.$apollo.subscribe(apolloOptions); // Create subscription\n\n this.sub = this.observer.subscribe({\n next: this.nextResult.bind(this),\n error: this.catchError.bind(this)\n });\n }\n\n _get(_getPrototypeOf(SmartSubscription.prototype), \"executeApollo\", this).call(this, variables);\n }\n }, {\n key: \"nextResult\",\n value: function nextResult(data) {\n _get(_getPrototypeOf(SmartSubscription.prototype), \"nextResult\", this).call(this, data);\n\n if (typeof this.options.result === 'function') {\n this.options.result.call(this.vm, data, this.key);\n }\n }\n }]);\n\n return SmartSubscription;\n}(SmartApollo);\n\nvar DollarApollo =\n/*#__PURE__*/\nfunction () {\n function DollarApollo(vm) {\n _classCallCheck(this, DollarApollo);\n\n this._apolloSubscriptions = [];\n this._watchers = [];\n this.vm = vm;\n this.queries = {};\n this.subscriptions = {};\n this.client = undefined;\n this.loadingKey = undefined;\n this.error = undefined;\n }\n\n _createClass(DollarApollo, [{\n key: \"getClient\",\n value: function getClient() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!options || !options.client) {\n if (_typeof(this.client) === 'object') {\n return this.client;\n }\n\n if (this.client) {\n if (!this.provider.clients) {\n throw new Error(\"[vue-apollo] Missing 'clients' options in 'apolloProvider'\");\n } else {\n var _client = this.provider.clients[this.client];\n\n if (!_client) {\n throw new Error(\"[vue-apollo] Missing client '\".concat(this.client, \"' in 'apolloProvider'\"));\n }\n\n return _client;\n }\n }\n\n return this.provider.defaultClient;\n }\n\n var client = this.provider.clients[options.client];\n\n if (!client) {\n throw new Error(\"[vue-apollo] Missing client '\".concat(options.client, \"' in 'apolloProvider'\"));\n }\n\n return client;\n }\n }, {\n key: \"query\",\n value: function query(options) {\n return this.getClient(options).query(options);\n }\n }, {\n key: \"watchQuery\",\n value: function watchQuery(options) {\n var _this = this;\n\n var observable = this.getClient(options).watchQuery(options);\n\n var _subscribe = observable.subscribe.bind(observable);\n\n observable.subscribe = function (options) {\n var sub = _subscribe(options);\n\n _this._apolloSubscriptions.push(sub);\n\n return sub;\n };\n\n return observable;\n }\n }, {\n key: \"mutate\",\n value: function mutate(options) {\n return this.getClient(options).mutate(options);\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(options) {\n var _this2 = this;\n\n if (!this.vm.$isServer) {\n var observable = this.getClient(options).subscribe(options);\n\n var _subscribe = observable.subscribe.bind(observable);\n\n observable.subscribe = function (options) {\n var sub = _subscribe(options);\n\n _this2._apolloSubscriptions.push(sub);\n\n return sub;\n };\n\n return observable;\n }\n }\n }, {\n key: \"addSmartQuery\",\n value: function addSmartQuery(key, options) {\n var _this3 = this;\n\n var finalOptions = utils_5(options, this.vm); // Simple query\n\n if (!finalOptions.query) {\n var query = finalOptions;\n finalOptions = {\n query: query\n };\n }\n\n var apollo = this.vm.$options.apollo;\n var defaultOptions = this.provider.defaultOptions;\n var $query;\n\n if (defaultOptions && defaultOptions.$query) {\n $query = defaultOptions.$query;\n }\n\n if (apollo && apollo.$query) {\n $query = _objectSpread2({}, $query || {}, {}, apollo.$query);\n }\n\n if ($query) {\n // Also replaces 'undefined' values\n for (var _key in $query) {\n if (typeof finalOptions[_key] === 'undefined') {\n finalOptions[_key] = $query[_key];\n }\n }\n }\n\n var smart = this.queries[key] = new SmartQuery(this.vm, key, finalOptions, false);\n\n if (!this.vm.$isServer || finalOptions.prefetch !== false) {\n smart.autostart();\n }\n\n if (!this.vm.$isServer) {\n var subs = finalOptions.subscribeToMore;\n\n if (subs) {\n if (Array.isArray(subs)) {\n subs.forEach(function (sub, index) {\n _this3.addSmartSubscription(\"\".concat(key).concat(index), _objectSpread2({}, sub, {\n linkedQuery: smart\n }));\n });\n } else {\n this.addSmartSubscription(key, _objectSpread2({}, subs, {\n linkedQuery: smart\n }));\n }\n }\n }\n\n return smart;\n }\n }, {\n key: \"addSmartSubscription\",\n value: function addSmartSubscription(key, options) {\n if (!this.vm.$isServer) {\n options = utils_5(options, this.vm);\n var smart = this.subscriptions[key] = new SmartSubscription(this.vm, key, options, false);\n smart.autostart();\n\n if (options.linkedQuery) {\n options.linkedQuery._linkedSubscriptions.push(smart);\n }\n\n return smart;\n }\n }\n }, {\n key: \"defineReactiveSetter\",\n value: function defineReactiveSetter(key, func, deep) {\n var _this4 = this;\n\n this._watchers.push(this.vm.$watch(func, function (value) {\n _this4[key] = value;\n }, {\n immediate: true,\n deep: deep\n }));\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n for (var _i2 = 0, _this$_watchers2 = this._watchers; _i2 < _this$_watchers2.length; _i2++) {\n var unwatch = _this$_watchers2[_i2];\n unwatch();\n }\n\n for (var key in this.queries) {\n this.queries[key].destroy();\n }\n\n for (var _key2 in this.subscriptions) {\n this.subscriptions[_key2].destroy();\n }\n\n this._apolloSubscriptions.forEach(function (sub) {\n sub.unsubscribe();\n });\n }\n }, {\n key: \"provider\",\n get: function get() {\n return this.vm.$apolloProvider;\n }\n }, {\n key: \"loading\",\n get: function get() {\n return this.vm.$data.$apolloData.loading !== 0;\n }\n }, {\n key: \"data\",\n get: function get() {\n return this.vm.$data.$apolloData.data;\n }\n }, {\n key: \"skipAllQueries\",\n set: function set(value) {\n for (var key in this.queries) {\n this.queries[key].skip = value;\n }\n }\n }, {\n key: \"skipAllSubscriptions\",\n set: function set(value) {\n for (var key in this.subscriptions) {\n this.subscriptions[key].skip = value;\n }\n }\n }, {\n key: \"skipAll\",\n set: function set(value) {\n this.skipAllQueries = value;\n this.skipAllSubscriptions = value;\n }\n }]);\n\n return DollarApollo;\n}();\n\nvar ApolloProvider =\n/*#__PURE__*/\nfunction () {\n function ApolloProvider(options) {\n _classCallCheck(this, ApolloProvider);\n\n if (!options) {\n throw new Error('Options argument required');\n }\n\n this.clients = options.clients || {};\n\n if (options.defaultClient) {\n this.clients.defaultClient = this.defaultClient = options.defaultClient;\n }\n\n this.defaultOptions = options.defaultOptions;\n this.watchLoading = options.watchLoading;\n this.errorHandler = options.errorHandler;\n this.prefetch = options.prefetch;\n }\n\n _createClass(ApolloProvider, [{\n key: \"provide\",\n value: function provide() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '$apolloProvider';\n console.warn(\".provide() is deprecated. Use the 'apolloProvider' option instead with the provider object directly.\");\n return _defineProperty({}, key, this);\n }\n }]);\n\n return ApolloProvider;\n}();\n\nfunction isDataFilled(data) {\n return Object.keys(data).length > 0;\n}\n\nvar CApolloQuery = {\n name: 'ApolloQuery',\n provide: function provide() {\n return {\n getDollarApollo: this.getDollarApollo,\n getApolloQuery: this.getApolloQuery\n };\n },\n props: {\n query: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n fetchPolicy: {\n type: String,\n \"default\": undefined\n },\n pollInterval: {\n type: Number,\n \"default\": undefined\n },\n notifyOnNetworkStatusChange: {\n type: Boolean,\n \"default\": undefined\n },\n context: {\n type: Object,\n \"default\": undefined\n },\n update: {\n type: Function,\n \"default\": function _default(data) {\n return data;\n }\n },\n skip: {\n type: Boolean,\n \"default\": false\n },\n debounce: {\n type: Number,\n \"default\": 0\n },\n throttle: {\n type: Number,\n \"default\": 0\n },\n clientId: {\n type: String,\n \"default\": undefined\n },\n deep: {\n type: Boolean,\n \"default\": undefined\n },\n tag: {\n type: String,\n \"default\": 'div'\n },\n prefetch: {\n type: Boolean,\n \"default\": true\n },\n options: {\n type: Object,\n \"default\": function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n result: {\n data: null,\n loading: false,\n networkStatus: 7,\n error: null\n },\n times: 0\n };\n },\n watch: {\n fetchPolicy: function fetchPolicy(value) {\n this.$apollo.queries.query.setOptions({\n fetchPolicy: value\n });\n },\n pollInterval: function pollInterval(value) {\n this.$apollo.queries.query.setOptions({\n pollInterval: value\n });\n },\n notifyOnNetworkStatusChange: function notifyOnNetworkStatusChange(value) {\n this.$apollo.queries.query.setOptions({\n notifyOnNetworkStatusChange: value\n });\n },\n '$data.$apolloData.loading': function $data$apolloDataLoading(value) {\n this.$emit('loading', !!value);\n }\n },\n apollo: {\n $client: function $client() {\n return this.clientId;\n },\n query: function query() {\n return _objectSpread2({\n query: function query() {\n if (typeof this.query === 'function') {\n return this.query(gql);\n }\n\n return this.query;\n },\n variables: function variables() {\n return this.variables;\n },\n fetchPolicy: this.fetchPolicy,\n pollInterval: this.pollInterval,\n debounce: this.debounce,\n throttle: this.throttle,\n notifyOnNetworkStatusChange: this.notifyOnNetworkStatusChange,\n context: function context() {\n return this.context;\n },\n skip: function skip() {\n return this.skip;\n },\n deep: this.deep,\n prefetch: this.prefetch\n }, this.options, {\n manual: true,\n result: function result(_result) {\n var _result2 = _result,\n errors = _result2.errors,\n loading = _result2.loading,\n networkStatus = _result2.networkStatus;\n var _result3 = _result,\n error = _result3.error;\n _result = Object.assign({}, _result);\n\n if (errors && errors.length) {\n error = new Error(\"Apollo errors occurred (\".concat(errors.length, \")\"));\n error.graphQLErrors = errors;\n }\n\n var data = {};\n\n if (loading) {\n Object.assign(data, this.$_previousData, _result.data);\n } else if (error) {\n Object.assign(data, this.$apollo.queries.query.observer.getLastResult() || {}, _result.data);\n } else {\n data = _result.data;\n this.$_previousData = _result.data;\n }\n\n var dataNotEmpty = isDataFilled(data);\n this.result = {\n data: dataNotEmpty ? this.update(data) : undefined,\n fullData: dataNotEmpty ? data : undefined,\n loading: loading,\n error: error,\n networkStatus: networkStatus\n };\n this.times = ++this.$_times;\n this.$emit('result', this.result);\n },\n error: function error(_error) {\n this.result.loading = false;\n this.result.error = _error;\n this.$emit('error', _error);\n }\n });\n }\n },\n created: function created() {\n this.$_times = 0;\n },\n methods: {\n getDollarApollo: function getDollarApollo() {\n return this.$apollo;\n },\n getApolloQuery: function getApolloQuery() {\n return this.$apollo.queries.query;\n }\n },\n render: function render(h) {\n var result = this.$scopedSlots[\"default\"]({\n result: this.result,\n times: this.times,\n query: this.$apollo.queries.query,\n isLoading: this.$apolloData.loading,\n gqlError: this.result && this.result.error && this.result.error.gqlError\n });\n\n if (Array.isArray(result)) {\n result = result.concat(this.$slots[\"default\"]);\n } else {\n result = [result].concat(this.$slots[\"default\"]);\n }\n\n return this.tag ? h(this.tag, result) : result[0];\n }\n};\n\nvar uid = 0;\nvar CApolloSubscribeToMore = {\n name: 'ApolloSubscribeToMore',\n inject: ['getDollarApollo', 'getApolloQuery'],\n props: {\n document: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n updateQuery: {\n type: Function,\n \"default\": undefined\n }\n },\n watch: {\n document: 'refresh',\n variables: 'refresh'\n },\n created: function created() {\n this.$_key = \"sub_component_\".concat(uid++);\n },\n mounted: function mounted() {\n this.refresh();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroy();\n },\n methods: {\n destroy: function destroy() {\n if (this.$_sub) {\n this.$_sub.destroy();\n }\n },\n refresh: function refresh() {\n this.destroy();\n var document = this.document;\n\n if (typeof document === 'function') {\n document = document(gql);\n }\n\n this.$_sub = this.getDollarApollo().addSmartSubscription(this.$_key, {\n document: document,\n variables: this.variables,\n updateQuery: this.updateQuery,\n linkedQuery: this.getApolloQuery()\n });\n }\n },\n render: function render(h) {\n return null;\n }\n};\n\nvar CApolloMutation = {\n props: {\n mutation: {\n type: [Function, Object],\n required: true\n },\n variables: {\n type: Object,\n \"default\": undefined\n },\n optimisticResponse: {\n type: Object,\n \"default\": undefined\n },\n update: {\n type: Function,\n \"default\": undefined\n },\n refetchQueries: {\n type: Function,\n \"default\": undefined\n },\n clientId: {\n type: String,\n \"default\": undefined\n },\n tag: {\n type: String,\n \"default\": 'div'\n }\n },\n data: function data() {\n return {\n loading: false,\n error: null\n };\n },\n watch: {\n loading: function loading(value) {\n this.$emit('loading', value);\n }\n },\n methods: {\n mutate: function mutate(options) {\n var _this = this;\n\n this.loading = true;\n this.error = null;\n var mutation = this.mutation;\n\n if (typeof mutation === 'function') {\n mutation = mutation(gql);\n }\n\n this.$apollo.mutate(_objectSpread2({\n mutation: mutation,\n client: this.clientId,\n variables: this.variables,\n optimisticResponse: this.optimisticResponse,\n update: this.update,\n refetchQueries: this.refetchQueries\n }, options)).then(function (result) {\n _this.$emit('done', result);\n\n _this.loading = false;\n })[\"catch\"](function (e) {\n utils_7(e);\n _this.error = e;\n\n _this.$emit('error', e);\n\n _this.loading = false;\n });\n }\n },\n render: function render(h) {\n var result = this.$scopedSlots[\"default\"]({\n mutate: this.mutate,\n loading: this.loading,\n error: this.error,\n gqlError: this.error && this.error.gqlError\n });\n\n if (Array.isArray(result)) {\n result = result.concat(this.$slots[\"default\"]);\n } else {\n result = [result].concat(this.$slots[\"default\"]);\n }\n\n return this.tag ? h(this.tag, result) : result[0];\n }\n};\n\nfunction hasProperty(holder, key) {\n return typeof holder !== 'undefined' && Object.prototype.hasOwnProperty.call(holder, key);\n}\n\nfunction initProvider() {\n var options = this.$options; // ApolloProvider injection\n\n var optionValue = options.apolloProvider;\n\n if (optionValue) {\n this.$apolloProvider = typeof optionValue === 'function' ? optionValue() : optionValue;\n } else if (options.parent && options.parent.$apolloProvider) {\n this.$apolloProvider = options.parent.$apolloProvider;\n } else if (options.provide) {\n // TODO remove\n // Temporary retro-compatibility\n var provided = typeof options.provide === 'function' ? options.provide.call(this) : options.provide;\n\n if (provided && provided.$apolloProvider) {\n this.$apolloProvider = provided.$apolloProvider;\n }\n }\n}\n\nfunction proxyData() {\n var _this = this;\n\n this.$_apolloInitData = {};\n var apollo = this.$options.apollo;\n\n if (apollo) {\n var _loop = function _loop(key) {\n if (key.charAt(0) !== '$') {\n var options = apollo[key]; // Property proxy\n\n if (!options.manual && !hasProperty(_this.$options.props, key) && !hasProperty(_this.$options.computed, key) && !hasProperty(_this.$options.methods, key)) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return _this.$data.$apolloData.data[key];\n },\n // For component class constructor\n set: function set(value) {\n return _this.$_apolloInitData[key] = value;\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n };\n\n // watchQuery\n for (var key in apollo) {\n _loop(key);\n }\n }\n}\n\nfunction launch() {\n var _this2 = this;\n\n var apolloProvider = this.$apolloProvider;\n if (this._apolloLaunched || !apolloProvider) return;\n this._apolloLaunched = true; // Prepare properties\n\n var apollo = this.$options.apollo;\n\n if (apollo) {\n this.$_apolloPromises = [];\n\n if (!apollo.$init) {\n apollo.$init = true; // Default options applied to `apollo` options\n\n if (apolloProvider.defaultOptions) {\n apollo = this.$options.apollo = Object.assign({}, apolloProvider.defaultOptions, apollo);\n }\n }\n\n defineReactiveSetter(this.$apollo, 'skipAll', apollo.$skipAll, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'skipAllQueries', apollo.$skipAllQueries, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'skipAllSubscriptions', apollo.$skipAllSubscriptions, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'client', apollo.$client, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'loadingKey', apollo.$loadingKey, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'error', apollo.$error, apollo.$deep);\n defineReactiveSetter(this.$apollo, 'watchLoading', apollo.$watchLoading, apollo.$deep); // Apollo Data\n\n Object.defineProperty(this, '$apolloData', {\n get: function get() {\n return _this2.$data.$apolloData;\n },\n enumerable: true,\n configurable: true\n }); // watchQuery\n\n for (var key in apollo) {\n if (key.charAt(0) !== '$') {\n var options = apollo[key];\n var smart = this.$apollo.addSmartQuery(key, options);\n\n if (this.$isServer) {\n options = utils_5(options, this);\n\n if (apolloProvider.prefetch !== false && options.prefetch !== false && apollo.$prefetch !== false && !smart.skip) {\n this.$_apolloPromises.push(smart.firstRun);\n }\n }\n }\n }\n\n if (apollo.subscribe) {\n utils_1.Vue.util.warn('vue-apollo -> `subscribe` option is deprecated. Use the `$subscribe` option instead.');\n }\n\n if (apollo.$subscribe) {\n for (var _key in apollo.$subscribe) {\n this.$apollo.addSmartSubscription(_key, apollo.$subscribe[_key]);\n }\n }\n }\n}\n\nfunction defineReactiveSetter($apollo, key, value, deep) {\n if (typeof value !== 'undefined') {\n if (typeof value === 'function') {\n $apollo.defineReactiveSetter(key, value, deep);\n } else {\n $apollo[key] = value;\n }\n }\n}\n\nfunction destroy() {\n if (this.$_apollo) {\n this.$_apollo.destroy();\n }\n}\n\nfunction installMixin(Vue, vueVersion) {\n Vue.mixin(_objectSpread2({}, vueVersion === '1' ? {\n init: initProvider\n } : {}, {}, vueVersion === '2' ? {\n data: function data() {\n return {\n '$apolloData': {\n queries: {},\n loading: 0,\n data: this.$_apolloInitData\n }\n };\n },\n beforeCreate: function beforeCreate() {\n initProvider.call(this);\n proxyData.call(this);\n },\n serverPrefetch: function serverPrefetch() {\n var _this3 = this;\n\n if (this.$_apolloPromises) {\n return Promise.all(this.$_apolloPromises).then(function () {\n destroy.call(_this3);\n })[\"catch\"](function (e) {\n destroy.call(_this3);\n return Promise.reject(e);\n });\n }\n }\n } : {}, {\n created: launch,\n destroyed: destroy\n }));\n}\n\nvar keywords = ['$subscribe'];\nfunction install(Vue, options) {\n if (install.installed) return;\n install.installed = true;\n utils_1.Vue = Vue;\n var vueVersion = Vue.version.substr(0, Vue.version.indexOf('.')); // Options merging\n\n var merge = Vue.config.optionMergeStrategies.methods;\n\n Vue.config.optionMergeStrategies.apollo = function (toVal, fromVal, vm) {\n if (!toVal) return fromVal;\n if (!fromVal) return toVal;\n var toData = Object.assign({}, utils_6(toVal, keywords), toVal.data);\n var fromData = Object.assign({}, utils_6(fromVal, keywords), fromVal.data);\n var map = {};\n\n for (var i = 0; i < keywords.length; i++) {\n var key = keywords[i];\n map[key] = merge(toVal[key], fromVal[key]);\n }\n\n return Object.assign(map, merge(toData, fromData));\n }; // Lazy creation\n\n\n Object.defineProperty(Vue.prototype, '$apollo', {\n get: function get() {\n if (!this.$_apollo) {\n this.$_apollo = new DollarApollo(this);\n }\n\n return this.$_apollo;\n }\n });\n installMixin(Vue, vueVersion);\n\n if (vueVersion === '2') {\n Vue.component('apollo-query', CApolloQuery);\n Vue.component('ApolloQuery', CApolloQuery);\n Vue.component('apollo-subscribe-to-more', CApolloSubscribeToMore);\n Vue.component('ApolloSubscribeToMore', CApolloSubscribeToMore);\n Vue.component('apollo-mutation', CApolloMutation);\n Vue.component('ApolloMutation', CApolloMutation);\n }\n}\nApolloProvider.install = install; // eslint-disable-next-line no-undef\n\nApolloProvider.version = \"3.0.3\"; // Apollo provider\n\nvar ApolloProvider$1 = ApolloProvider; // Components\n\nvar ApolloQuery = CApolloQuery;\nvar ApolloSubscribeToMore = CApolloSubscribeToMore;\nvar ApolloMutation = CApolloMutation; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(ApolloProvider);\n}\n\nexport default ApolloProvider;\nexport { ApolloMutation, ApolloProvider$1 as ApolloProvider, ApolloQuery, ApolloSubscribeToMore, install };\n","/**\n * vee-validate v3.2.3\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\nimport Vue from 'vue';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nfunction isNaN(value) {\r\n // NaN is the one value that does not equal itself.\r\n // eslint-disable-next-line\r\n return value !== value;\r\n}\r\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nvar isObject = function (obj) {\r\n return obj !== null && obj && typeof obj === 'object' && !Array.isArray(obj);\r\n};\r\n/**\r\n * Shallow object comparison.\r\n */\r\nfunction isEqual(lhs, rhs) {\r\n if (lhs instanceof RegExp && rhs instanceof RegExp) {\r\n return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);\r\n }\r\n if (Array.isArray(lhs) && Array.isArray(rhs)) {\r\n if (lhs.length !== rhs.length)\r\n return false;\r\n for (var i = 0; i < lhs.length; i++) {\r\n if (!isEqual(lhs[i], rhs[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n // if both are objects, compare each key recursively.\r\n if (isObject(lhs) && isObject(rhs)) {\r\n return (Object.keys(lhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }) &&\r\n Object.keys(rhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }));\r\n }\r\n if (isNaN(lhs) && isNaN(rhs)) {\r\n return true;\r\n }\r\n return lhs === rhs;\r\n}\r\n// Checks if a given value is not an empty string or null or undefined.\r\nfunction isSpecified(val) {\r\n if (val === '') {\r\n return false;\r\n }\r\n return !isNullOrUndefined(val);\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\r\nfunction isLocator(value) {\r\n return isCallable(value) && !!value.__locatorRef;\r\n}\n\nfunction findIndex(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n if (isCallable(array.findIndex)) {\r\n return array.findIndex(predicate);\r\n }\r\n /* istanbul ignore next */\r\n for (var i = 0; i < array.length; i++) {\r\n if (predicate(array[i], i)) {\r\n return i;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return -1;\r\n}\r\n/**\r\n * finds the first element that satisfies the predicate callback, polyfills array.find\r\n */\r\nfunction find(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n var idx = findIndex(array, predicate);\r\n return idx === -1 ? undefined : array[idx];\r\n}\r\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\r\nfunction values(obj) {\r\n if (isCallable(Object.values)) {\r\n return Object.values(obj);\r\n }\r\n // fallback to keys()\r\n /* istanbul ignore next */\r\n return Object.keys(obj).map(function (k) { return obj[k]; });\r\n}\r\nfunction merge(target, source) {\r\n Object.keys(source).forEach(function (key) {\r\n if (isObject(source[key])) {\r\n if (!target[key]) {\r\n target[key] = {};\r\n }\r\n merge(target[key], source[key]);\r\n return;\r\n }\r\n target[key] = source[key];\r\n });\r\n return target;\r\n}\n\nfunction createFlags() {\r\n return {\r\n untouched: true,\r\n touched: false,\r\n dirty: false,\r\n pristine: true,\r\n valid: false,\r\n invalid: false,\r\n validated: false,\r\n pending: false,\r\n required: false,\r\n changed: false,\r\n passed: false,\r\n failed: false\r\n };\r\n}\n\nfunction identity(x) {\r\n return x;\r\n}\r\nfunction debounce(fn, wait, token) {\r\n if (wait === void 0) { wait = 0; }\r\n if (token === void 0) { token = { cancelled: false }; }\r\n if (wait === 0) {\r\n return fn;\r\n }\r\n var timeout;\r\n return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var later = function () {\r\n timeout = undefined;\r\n // check if the fn call was cancelled.\r\n if (!token.cancelled)\r\n fn.apply(void 0, args);\r\n };\r\n // because we might want to use Node.js setTimout for SSR.\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n}\n\n/**\r\n * Emits a warning to the console\r\n */\r\nfunction warn(message) {\r\n console.warn(\"[vee-validate] \" + message);\r\n}\r\n/**\r\n * Replaces placeholder values in a string with their actual values\r\n */\r\nfunction interpolate(template, values) {\r\n return template.replace(/{([^}]+)}/g, function (_, p) {\r\n return p in values ? values[p] : \"{\" + p + \"}\";\r\n });\r\n}\n\nvar RULES = {};\r\nfunction normalizeSchema(schema) {\r\n var _a;\r\n if ((_a = schema.params) === null || _a === void 0 ? void 0 : _a.length) {\r\n schema.params = schema.params.map(function (param) {\r\n if (typeof param === 'string') {\r\n return { name: param };\r\n }\r\n return param;\r\n });\r\n }\r\n return schema;\r\n}\r\nvar RuleContainer = /** @class */ (function () {\r\n function RuleContainer() {\r\n }\r\n RuleContainer.extend = function (name, schema) {\r\n // if rule already exists, overwrite it.\r\n var rule = normalizeSchema(schema);\r\n if (RULES[name]) {\r\n RULES[name] = merge(RULES[name], schema);\r\n return;\r\n }\r\n RULES[name] = __assign({ lazy: false, computesRequired: false }, rule);\r\n };\r\n RuleContainer.isLazy = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.lazy);\r\n };\r\n RuleContainer.isRequireRule = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.computesRequired);\r\n };\r\n RuleContainer.getRuleDefinition = function (ruleName) {\r\n return RULES[ruleName];\r\n };\r\n return RuleContainer;\r\n}());\r\n/**\r\n * Adds a custom validator to the list of validation rules.\r\n */\r\nfunction extend(name, schema) {\r\n // makes sure new rules are properly formatted.\r\n guardExtend(name, schema);\r\n // Full schema object.\r\n if (typeof schema === 'object') {\r\n RuleContainer.extend(name, schema);\r\n return;\r\n }\r\n RuleContainer.extend(name, {\r\n validate: schema\r\n });\r\n}\r\n/**\r\n * Guards from extension violations.\r\n */\r\nfunction guardExtend(name, validator) {\r\n if (isCallable(validator)) {\r\n return;\r\n }\r\n if (isCallable(validator.validate)) {\r\n return;\r\n }\r\n if (RuleContainer.getRuleDefinition(name)) {\r\n return;\r\n }\r\n throw new Error(\"Extension Error: The validator '\" + name + \"' must be a function or have a 'validate' method.\");\r\n}\n\nvar DEFAULT_CONFIG = {\r\n defaultMessage: \"{_field_} is not valid.\",\r\n skipOptional: true,\r\n classes: {\r\n touched: 'touched',\r\n untouched: 'untouched',\r\n valid: 'valid',\r\n invalid: 'invalid',\r\n pristine: 'pristine',\r\n dirty: 'dirty' // control has been interacted with\r\n },\r\n bails: true,\r\n mode: 'aggressive',\r\n useConstraintAttrs: true\r\n};\r\nvar currentConfig = __assign({}, DEFAULT_CONFIG);\r\nvar getConfig = function () { return currentConfig; };\r\nvar setConfig = function (newConf) {\r\n currentConfig = __assign(__assign({}, currentConfig), newConf);\r\n};\r\nvar configure = function (cfg) {\r\n setConfig(cfg);\r\n};\n\n/**\r\n * Normalizes the given rules expression.\r\n */\r\nfunction normalizeRules(rules) {\r\n // if falsy value return an empty object.\r\n var acc = {};\r\n Object.defineProperty(acc, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n if (!rules) {\r\n return acc;\r\n }\r\n // Object is already normalized, skip.\r\n if (isObject(rules) && rules._$$isNormalized) {\r\n return rules;\r\n }\r\n if (isObject(rules)) {\r\n return Object.keys(rules).reduce(function (prev, curr) {\r\n var params = [];\r\n if (rules[curr] === true) {\r\n params = [];\r\n }\r\n else if (Array.isArray(rules[curr])) {\r\n params = rules[curr];\r\n }\r\n else if (isObject(rules[curr])) {\r\n params = rules[curr];\r\n }\r\n else {\r\n params = [rules[curr]];\r\n }\r\n if (rules[curr] !== false) {\r\n prev[curr] = buildParams(curr, params);\r\n }\r\n return prev;\r\n }, acc);\r\n }\r\n /* istanbul ignore if */\r\n if (typeof rules !== 'string') {\r\n warn('rules must be either a string or an object.');\r\n return acc;\r\n }\r\n return rules.split('|').reduce(function (prev, rule) {\r\n var parsedRule = parseRule(rule);\r\n if (!parsedRule.name) {\r\n return prev;\r\n }\r\n prev[parsedRule.name] = buildParams(parsedRule.name, parsedRule.params);\r\n return prev;\r\n }, acc);\r\n}\r\nfunction buildParams(ruleName, provided) {\r\n var ruleSchema = RuleContainer.getRuleDefinition(ruleName);\r\n if (!ruleSchema) {\r\n return provided;\r\n }\r\n var params = {};\r\n if (!ruleSchema.params && !Array.isArray(provided)) {\r\n throw new Error('You provided an object params to a rule that has no defined schema.');\r\n }\r\n // Rule probably uses an array for their args, keep it as is.\r\n if (Array.isArray(provided) && !ruleSchema.params) {\r\n return provided;\r\n }\r\n var definedParams;\r\n // collect the params schema.\r\n if (!ruleSchema.params || (ruleSchema.params.length < provided.length && Array.isArray(provided))) {\r\n var lastDefinedParam_1;\r\n // collect any additional parameters in the last item.\r\n definedParams = provided.map(function (_, idx) {\r\n var _a;\r\n var param = (_a = ruleSchema.params) === null || _a === void 0 ? void 0 : _a[idx];\r\n lastDefinedParam_1 = param || lastDefinedParam_1;\r\n if (!param) {\r\n param = lastDefinedParam_1;\r\n }\r\n return param;\r\n });\r\n }\r\n else {\r\n definedParams = ruleSchema.params;\r\n }\r\n // Match the provided array length with a temporary schema.\r\n for (var i = 0; i < definedParams.length; i++) {\r\n var options = definedParams[i];\r\n var value = options.default;\r\n // if the provided is an array, map element value.\r\n if (Array.isArray(provided)) {\r\n if (i in provided) {\r\n value = provided[i];\r\n }\r\n }\r\n else {\r\n // If the param exists in the provided object.\r\n if (options.name in provided) {\r\n value = provided[options.name];\r\n // if the provided is the first param value.\r\n }\r\n else if (definedParams.length === 1) {\r\n value = provided;\r\n }\r\n }\r\n // if the param is a target, resolve the target value.\r\n if (options.isTarget) {\r\n value = createLocator(value, options.cast);\r\n }\r\n // A target param using interpolation\r\n if (typeof value === 'string' && value[0] === '@') {\r\n value = createLocator(value.slice(1), options.cast);\r\n }\r\n // If there is a transformer defined.\r\n if (!isLocator(value) && options.cast) {\r\n value = options.cast(value);\r\n }\r\n // already been set, probably multiple values.\r\n if (params[options.name]) {\r\n params[options.name] = Array.isArray(params[options.name]) ? params[options.name] : [params[options.name]];\r\n params[options.name].push(value);\r\n }\r\n else {\r\n // set the value.\r\n params[options.name] = value;\r\n }\r\n }\r\n return params;\r\n}\r\n/**\r\n * Parses a rule string expression.\r\n */\r\nvar parseRule = function (rule) {\r\n var params = [];\r\n var name = rule.split(':')[0];\r\n if (includes(rule, ':')) {\r\n params = rule\r\n .split(':')\r\n .slice(1)\r\n .join(':')\r\n .split(',');\r\n }\r\n return { name: name, params: params };\r\n};\r\nfunction createLocator(value, castFn) {\r\n var locator = function (crossTable) {\r\n var val = crossTable[value];\r\n return castFn ? castFn(val) : val;\r\n };\r\n locator.__locatorRef = value;\r\n return locator;\r\n}\r\nfunction extractLocators(params) {\r\n if (Array.isArray(params)) {\r\n return params.filter(isLocator);\r\n }\r\n return Object.keys(params)\r\n .filter(function (key) { return isLocator(params[key]); })\r\n .map(function (key) { return params[key]; });\r\n}\n\n/**\r\n * Validates a value against the rules.\r\n */\r\nfunction validate(value, rules, options) {\r\n if (options === void 0) { options = {}; }\r\n var _a, _b, _c, _d, _e, _f;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var shouldBail, skipIfEmpty, field, result, errors, failedRules, regenerateMap;\r\n return __generator(this, function (_g) {\r\n switch (_g.label) {\r\n case 0:\r\n shouldBail = (_a = options) === null || _a === void 0 ? void 0 : _a.bails;\r\n skipIfEmpty = (_b = options) === null || _b === void 0 ? void 0 : _b.skipIfEmpty;\r\n field = {\r\n name: ((_c = options) === null || _c === void 0 ? void 0 : _c.name) || '{field}',\r\n rules: normalizeRules(rules),\r\n bails: (shouldBail !== null && shouldBail !== void 0 ? shouldBail : true),\r\n skipIfEmpty: (skipIfEmpty !== null && skipIfEmpty !== void 0 ? skipIfEmpty : true),\r\n forceRequired: false,\r\n crossTable: ((_d = options) === null || _d === void 0 ? void 0 : _d.values) || {},\r\n names: ((_e = options) === null || _e === void 0 ? void 0 : _e.names) || {},\r\n customMessages: ((_f = options) === null || _f === void 0 ? void 0 : _f.customMessages) || {}\r\n };\r\n return [4 /*yield*/, _validate(field, value, options)];\r\n case 1:\r\n result = _g.sent();\r\n errors = [];\r\n failedRules = {};\r\n regenerateMap = {};\r\n result.errors.forEach(function (e) {\r\n var msg = e.msg();\r\n errors.push(msg);\r\n failedRules[e.rule] = msg;\r\n regenerateMap[e.rule] = e.msg;\r\n });\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n errors: errors,\r\n failedRules: failedRules,\r\n regenerateMap: regenerateMap\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Starts the validation process.\r\n */\r\nfunction _validate(field, value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).isInitial, isInitial = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _c, shouldSkip, errors, rules, length, i, rule, result;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0: return [4 /*yield*/, _shouldSkip(field, value)];\r\n case 1:\r\n _c = _d.sent(), shouldSkip = _c.shouldSkip, errors = _c.errors;\r\n if (shouldSkip) {\r\n return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n rules = Object.keys(field.rules).filter(function (rule) { return !RuleContainer.isRequireRule(rule); });\r\n length = rules.length;\r\n i = 0;\r\n _d.label = 2;\r\n case 2:\r\n if (!(i < length)) return [3 /*break*/, 5];\r\n if (isInitial && RuleContainer.isLazy(rules[i])) {\r\n return [3 /*break*/, 4];\r\n }\r\n rule = rules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 3:\r\n result = _d.sent();\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n valid: false,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _d.label = 4;\r\n case 4:\r\n i++;\r\n return [3 /*break*/, 2];\r\n case 5: return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\nfunction _shouldSkip(field, value) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var requireRules, length, errors, isEmpty, isEmptyAndOptional, isRequired, i, rule, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n requireRules = Object.keys(field.rules).filter(RuleContainer.isRequireRule);\r\n length = requireRules.length;\r\n errors = [];\r\n isEmpty = isNullOrUndefined(value) || value === '' || isEmptyArray(value);\r\n isEmptyAndOptional = isEmpty && field.skipIfEmpty;\r\n isRequired = false;\r\n i = 0;\r\n _a.label = 1;\r\n case 1:\r\n if (!(i < length)) return [3 /*break*/, 4];\r\n rule = requireRules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 2:\r\n result = _a.sent();\r\n if (!isObject(result)) {\r\n throw new Error('Require rules has to return an object (see docs)');\r\n }\r\n if (result.required) {\r\n isRequired = true;\r\n }\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n // Exit early as the field is required and failed validation.\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n shouldSkip: true,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _a.label = 3;\r\n case 3:\r\n i++;\r\n return [3 /*break*/, 1];\r\n case 4:\r\n if (isEmpty && !isRequired && !field.skipIfEmpty) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // field is configured to run through the pipeline regardless\r\n if (!field.bails && !isEmptyAndOptional) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // skip if the field is not required and has an empty value.\r\n return [2 /*return*/, {\r\n shouldSkip: !isRequired && isEmpty,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Tests a single input value against a rule.\r\n */\r\nfunction _test(field, value, rule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ruleSchema, normalizedValue, params, result, values_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n ruleSchema = RuleContainer.getRuleDefinition(rule.name);\r\n if (!ruleSchema || !ruleSchema.validate) {\r\n throw new Error(\"No such validator '\" + rule.name + \"' exists.\");\r\n }\r\n normalizedValue = ruleSchema.castValue ? ruleSchema.castValue(value) : value;\r\n params = fillTargetValues(rule.params, field.crossTable);\r\n return [4 /*yield*/, ruleSchema.validate(normalizedValue, params)];\r\n case 1:\r\n result = _a.sent();\r\n if (typeof result === 'string') {\r\n values_1 = __assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: rule.name });\r\n return [2 /*return*/, {\r\n valid: false,\r\n error: { rule: rule.name, msg: function () { return interpolate(result, values_1); } }\r\n }];\r\n }\r\n if (!isObject(result)) {\r\n result = { valid: result };\r\n }\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n required: result.required,\r\n error: result.valid ? undefined : _generateFieldError(field, value, ruleSchema, rule.name, params)\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Generates error messages.\r\n */\r\nfunction _generateFieldError(field, value, ruleSchema, ruleName, params) {\r\n var _a;\r\n var message = (_a = field.customMessages[ruleName], (_a !== null && _a !== void 0 ? _a : ruleSchema.message));\r\n var ruleTargets = _getRuleTargets(field, ruleSchema, ruleName);\r\n var _b = _getUserTargets(field, ruleSchema, ruleName, message), userTargets = _b.userTargets, userMessage = _b.userMessage;\r\n var values = __assign(__assign(__assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: ruleName }), ruleTargets), userTargets);\r\n return {\r\n msg: function () { return _normalizeMessage(userMessage || getConfig().defaultMessage, field.name, values); },\r\n rule: ruleName\r\n };\r\n}\r\nfunction _getRuleTargets(field, ruleSchema, ruleName) {\r\n var params = ruleSchema.params;\r\n if (!params) {\r\n return {};\r\n }\r\n var numTargets = params.filter(function (param) { return param.isTarget; }).length;\r\n if (numTargets <= 0) {\r\n return {};\r\n }\r\n var names = {};\r\n var ruleConfig = field.rules[ruleName];\r\n if (!Array.isArray(ruleConfig) && isObject(ruleConfig)) {\r\n ruleConfig = params.map(function (param) {\r\n return ruleConfig[param.name];\r\n });\r\n }\r\n for (var index = 0; index < params.length; index++) {\r\n var param = params[index];\r\n var key = ruleConfig[index];\r\n if (!isLocator(key)) {\r\n continue;\r\n }\r\n key = key.__locatorRef;\r\n var name_1 = field.names[key] || key;\r\n names[param.name] = name_1;\r\n names[\"_\" + param.name + \"_\"] = field.crossTable[key];\r\n }\r\n return names;\r\n}\r\nfunction _getUserTargets(field, ruleSchema, ruleName, userMessage) {\r\n var userTargets = {};\r\n var rules = field.rules[ruleName];\r\n var params = ruleSchema.params || [];\r\n // early return if no rules\r\n if (!rules) {\r\n return {};\r\n }\r\n // check all rules to convert targets\r\n Object.keys(rules).forEach(function (key, index) {\r\n // get the rule\r\n var rule = rules[key];\r\n if (!isLocator(rule)) {\r\n return {};\r\n }\r\n // get associated parameter\r\n var param = params[index];\r\n if (!param) {\r\n return {};\r\n }\r\n // grab the name of the target\r\n var name = rule.__locatorRef;\r\n userTargets[param.name] = field.names[name] || name;\r\n userTargets[\"_\" + param.name + \"_\"] = field.crossTable[name];\r\n });\r\n return {\r\n userTargets: userTargets,\r\n userMessage: userMessage\r\n };\r\n}\r\nfunction _normalizeMessage(template, field, values) {\r\n if (typeof template === 'function') {\r\n return template(field, values);\r\n }\r\n return interpolate(template, __assign(__assign({}, values), { _field_: field }));\r\n}\r\nfunction fillTargetValues(params, crossTable) {\r\n if (Array.isArray(params)) {\r\n return params;\r\n }\r\n var values = {};\r\n var normalize = function (value) {\r\n if (isLocator(value)) {\r\n return value(crossTable);\r\n }\r\n return value;\r\n };\r\n Object.keys(params).forEach(function (param) {\r\n values[param] = normalize(params[param]);\r\n });\r\n return values;\r\n}\n\nvar aggressive = function () { return ({\r\n on: ['input', 'blur']\r\n}); };\r\nvar lazy = function () { return ({\r\n on: ['change']\r\n}); };\r\nvar eager = function (_a) {\r\n var errors = _a.errors;\r\n if (errors.length) {\r\n return {\r\n on: ['input', 'change']\r\n };\r\n }\r\n return {\r\n on: ['change', 'blur']\r\n };\r\n};\r\nvar passive = function () { return ({\r\n on: []\r\n}); };\r\nvar modes = {\r\n aggressive: aggressive,\r\n eager: eager,\r\n passive: passive,\r\n lazy: lazy\r\n};\r\nvar setInteractionMode = function (mode, implementation) {\r\n setConfig({ mode: mode });\r\n if (!implementation) {\r\n return;\r\n }\r\n if (!isCallable(implementation)) {\r\n throw new Error('A mode implementation must be a function');\r\n }\r\n modes[mode] = implementation;\r\n};\n\nvar EVENT_BUS = new Vue();\r\nfunction localeChanged() {\r\n EVENT_BUS.$emit('change:locale');\r\n}\n\nvar Dictionary = /** @class */ (function () {\r\n function Dictionary(locale, dictionary) {\r\n this.container = {};\r\n this.locale = locale;\r\n this.merge(dictionary);\r\n }\r\n Dictionary.prototype.resolve = function (field, rule, values) {\r\n return this.format(this.locale, field, rule, values);\r\n };\r\n Dictionary.prototype.format = function (locale, field, rule, values) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n var message;\r\n // find if specific message for that field was specified.\r\n message = ((_c = (_b = (_a = this.container[locale]) === null || _a === void 0 ? void 0 : _a.fields) === null || _b === void 0 ? void 0 : _b[field]) === null || _c === void 0 ? void 0 : _c[rule]) || ((_e = (_d = this.container[locale]) === null || _d === void 0 ? void 0 : _d.messages) === null || _e === void 0 ? void 0 : _e[rule]);\r\n if (!message) {\r\n message = '{field} is not valid';\r\n }\r\n field = (_h = (_g = (_f = this.container[locale]) === null || _f === void 0 ? void 0 : _f.names) === null || _g === void 0 ? void 0 : _g[field], (_h !== null && _h !== void 0 ? _h : field));\r\n return isCallable(message) ? message(field, values) : interpolate(message, __assign(__assign({}, values), { _field_: field }));\r\n };\r\n Dictionary.prototype.merge = function (dictionary) {\r\n merge(this.container, dictionary);\r\n };\r\n Dictionary.prototype.hasRule = function (name) {\r\n var _a, _b;\r\n return !!((_b = (_a = this.container[this.locale]) === null || _a === void 0 ? void 0 : _a.messages) === null || _b === void 0 ? void 0 : _b[name]);\r\n };\r\n return Dictionary;\r\n}());\r\nvar DICTIONARY;\r\nfunction localize(locale, dictionary) {\r\n var _a;\r\n if (!DICTIONARY) {\r\n DICTIONARY = new Dictionary('en', {});\r\n setConfig({\r\n defaultMessage: function (field, values) {\r\n var _a;\r\n return DICTIONARY.resolve(field, (_a = values) === null || _a === void 0 ? void 0 : _a._rule_, values || {});\r\n }\r\n });\r\n }\r\n if (typeof locale === 'string') {\r\n DICTIONARY.locale = locale;\r\n if (dictionary) {\r\n DICTIONARY.merge((_a = {}, _a[locale] = dictionary, _a));\r\n }\r\n localeChanged();\r\n return;\r\n }\r\n DICTIONARY.merge(locale);\r\n}\n\nvar isEvent = function (evt) {\r\n if (!evt) {\r\n return false;\r\n }\r\n if (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) {\r\n return true;\r\n }\r\n // this is for IE\r\n /* istanbul ignore next */\r\n if (evt && evt.srcElement) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nfunction normalizeEventValue(value) {\r\n var _a, _b;\r\n if (!isEvent(value)) {\r\n return value;\r\n }\r\n var input = value.target;\r\n if (input.type === 'file' && input.files) {\r\n return toArray(input.files);\r\n }\r\n // If the input has a `v-model.number` modifier applied.\r\n if ((_a = input._vModifiers) === null || _a === void 0 ? void 0 : _a.number) {\r\n // as per the spec the v-model.number uses parseFloat\r\n var valueAsNumber = parseFloat(input.value);\r\n if (isNaN(valueAsNumber)) {\r\n return input.value;\r\n }\r\n return valueAsNumber;\r\n }\r\n if ((_b = input._vModifiers) === null || _b === void 0 ? void 0 : _b.trim) {\r\n var trimmedValue = typeof input.value === 'string' ? input.value.trim() : input.value;\r\n return trimmedValue;\r\n }\r\n return input.value;\r\n}\n\nvar isTextInput = function (vnode) {\r\n var _a, _b;\r\n var attrs = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) || vnode.elm;\r\n // it will fallback to being a text input per browsers spec.\r\n if (vnode.tag === 'input' && (!attrs || !attrs.type)) {\r\n return true;\r\n }\r\n if (vnode.tag === 'textarea') {\r\n return true;\r\n }\r\n return includes(['text', 'password', 'search', 'email', 'tel', 'url', 'number'], (_b = attrs) === null || _b === void 0 ? void 0 : _b.type);\r\n};\r\n// export const isCheckboxOrRadioInput = (vnode: VNode): boolean => {\r\n// const attrs = (vnode.data && vnode.data.attrs) || vnode.elm;\r\n// return includes(['radio', 'checkbox'], attrs && attrs.type);\r\n// };\r\n// Gets the model object on the vnode.\r\nfunction findModel(vnode) {\r\n if (!vnode.data) {\r\n return undefined;\r\n }\r\n // Component Model\r\n // THIS IS NOT TYPED IN OFFICIAL VUE TYPINGS\r\n // eslint-disable-next-line\r\n var nonStandardVNodeData = vnode.data;\r\n if ('model' in nonStandardVNodeData) {\r\n return nonStandardVNodeData.model;\r\n }\r\n if (!vnode.data.directives) {\r\n return undefined;\r\n }\r\n return find(vnode.data.directives, function (d) { return d.name === 'model'; });\r\n}\r\nfunction findValue(vnode) {\r\n var _a, _b, _c;\r\n var model = findModel(vnode);\r\n if (model) {\r\n return { value: model.value };\r\n }\r\n var config = findModelConfig(vnode);\r\n var prop = ((_a = config) === null || _a === void 0 ? void 0 : _a.prop) || 'value';\r\n if (((_b = vnode.componentOptions) === null || _b === void 0 ? void 0 : _b.propsData) && prop in vnode.componentOptions.propsData) {\r\n var propsDataWithValue = vnode.componentOptions.propsData;\r\n return { value: propsDataWithValue[prop] };\r\n }\r\n if (((_c = vnode.data) === null || _c === void 0 ? void 0 : _c.domProps) && 'value' in vnode.data.domProps) {\r\n return { value: vnode.data.domProps.value };\r\n }\r\n return undefined;\r\n}\r\nfunction extractChildren(vnode) {\r\n if (Array.isArray(vnode)) {\r\n return vnode;\r\n }\r\n if (Array.isArray(vnode.children)) {\r\n return vnode.children;\r\n }\r\n /* istanbul ignore next */\r\n if (vnode.componentOptions && Array.isArray(vnode.componentOptions.children)) {\r\n return vnode.componentOptions.children;\r\n }\r\n return [];\r\n}\r\nfunction extractVNodes(vnode) {\r\n if (!Array.isArray(vnode) && findValue(vnode) !== undefined) {\r\n return [vnode];\r\n }\r\n var children = extractChildren(vnode);\r\n return children.reduce(function (nodes, node) {\r\n var candidates = extractVNodes(node);\r\n if (candidates.length) {\r\n nodes.push.apply(nodes, candidates);\r\n }\r\n return nodes;\r\n }, []);\r\n}\r\n// Resolves v-model config if exists.\r\nfunction findModelConfig(vnode) {\r\n /* istanbul ignore next */\r\n if (!vnode.componentOptions)\r\n return null;\r\n // This is also not typed in the standard Vue TS.\r\n return vnode.componentOptions.Ctor.options.model;\r\n}\r\n// Adds a listener to vnode listener object.\r\nfunction mergeVNodeListeners(obj, eventName, handler) {\r\n // no listener at all.\r\n if (isNullOrUndefined(obj[eventName])) {\r\n obj[eventName] = [handler];\r\n return;\r\n }\r\n // Is an invoker.\r\n if (isCallable(obj[eventName]) && obj[eventName].fns) {\r\n var invoker = obj[eventName];\r\n invoker.fns = Array.isArray(invoker.fns) ? invoker.fns : [invoker.fns];\r\n if (!includes(invoker.fns, handler)) {\r\n invoker.fns.push(handler);\r\n }\r\n return;\r\n }\r\n if (isCallable(obj[eventName])) {\r\n var prev = obj[eventName];\r\n obj[eventName] = [prev];\r\n }\r\n if (Array.isArray(obj[eventName]) && !includes(obj[eventName], handler)) {\r\n obj[eventName].push(handler);\r\n }\r\n}\r\n// Adds a listener to a native HTML vnode.\r\nfunction addNativeNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.data) {\r\n node.data = {};\r\n }\r\n if (isNullOrUndefined(node.data.on)) {\r\n node.data.on = {};\r\n }\r\n mergeVNodeListeners(node.data.on, eventName, handler);\r\n}\r\n// Adds a listener to a Vue component vnode.\r\nfunction addComponentNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.componentOptions) {\r\n return;\r\n }\r\n /* istanbul ignore next */\r\n if (!node.componentOptions.listeners) {\r\n node.componentOptions.listeners = {};\r\n }\r\n mergeVNodeListeners(node.componentOptions.listeners, eventName, handler);\r\n}\r\nfunction addVNodeListener(vnode, eventName, handler) {\r\n if (vnode.componentOptions) {\r\n addComponentNodeListener(vnode, eventName, handler);\r\n return;\r\n }\r\n addNativeNodeListener(vnode, eventName, handler);\r\n}\r\n// Determines if `change` should be used over `input` for listeners.\r\nfunction getInputEventName(vnode, model) {\r\n var _a, _b;\r\n // Is a component.\r\n if (vnode.componentOptions) {\r\n var event_1 = (findModelConfig(vnode) || { event: 'input' }).event;\r\n return event_1;\r\n }\r\n // Lazy Models typically use change event\r\n if ((_b = (_a = model) === null || _a === void 0 ? void 0 : _a.modifiers) === null || _b === void 0 ? void 0 : _b.lazy) {\r\n return 'change';\r\n }\r\n // is a textual-type input.\r\n if (isTextInput(vnode)) {\r\n return 'input';\r\n }\r\n return 'change';\r\n}\r\nfunction isHTMLNode(node) {\r\n return includes(['input', 'select', 'textarea'], node.tag);\r\n}\r\n// TODO: Type this one properly.\r\nfunction normalizeSlots(slots, ctx) {\r\n var acc = [];\r\n return Object.keys(slots).reduce(function (arr, key) {\r\n slots[key].forEach(function (vnode) {\r\n if (!vnode.context) {\r\n slots[key].context = ctx;\r\n if (!vnode.data) {\r\n vnode.data = {};\r\n }\r\n vnode.data.slot = key;\r\n }\r\n });\r\n return arr.concat(slots[key]);\r\n }, acc);\r\n}\r\nfunction resolveTextualRules(vnode) {\r\n var _a;\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n var rules = {};\r\n if (!attrs)\r\n return rules;\r\n if (attrs.type === 'email' && RuleContainer.getRuleDefinition('email')) {\r\n rules.email = ['multiple' in attrs];\r\n }\r\n if (attrs.pattern && RuleContainer.getRuleDefinition('regex')) {\r\n rules.regex = attrs.pattern;\r\n }\r\n if (attrs.maxlength >= 0 && RuleContainer.getRuleDefinition('max')) {\r\n rules.max = attrs.maxlength;\r\n }\r\n if (attrs.minlength >= 0 && RuleContainer.getRuleDefinition('min')) {\r\n rules.min = attrs.minlength;\r\n }\r\n if (attrs.type === 'number') {\r\n if (isSpecified(attrs.min) && RuleContainer.getRuleDefinition('min_value')) {\r\n rules.min_value = Number(attrs.min);\r\n }\r\n if (isSpecified(attrs.max) && RuleContainer.getRuleDefinition('max_value')) {\r\n rules.max_value = Number(attrs.max);\r\n }\r\n }\r\n return rules;\r\n}\r\nfunction resolveRules(vnode) {\r\n var _a;\r\n var htmlTags = ['input', 'select', 'textarea'];\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n if (!includes(htmlTags, vnode.tag) || !attrs) {\r\n return {};\r\n }\r\n var rules = {};\r\n if ('required' in attrs && attrs.required !== false && RuleContainer.getRuleDefinition('required')) {\r\n rules.required = attrs.type === 'checkbox' ? [true] : true;\r\n }\r\n if (isTextInput(vnode)) {\r\n return normalizeRules(__assign(__assign({}, rules), resolveTextualRules(vnode)));\r\n }\r\n return normalizeRules(rules);\r\n}\r\nfunction normalizeChildren(context, slotProps) {\r\n if (context.$scopedSlots.default) {\r\n return context.$scopedSlots.default(slotProps) || [];\r\n }\r\n return context.$slots.default || [];\r\n}\n\n/**\r\n * Determines if a provider needs to run validation.\r\n */\r\nfunction shouldValidate(ctx, value) {\r\n // when an immediate/initial validation is needed and wasn't done before.\r\n if (!ctx._ignoreImmediate && ctx.immediate) {\r\n return true;\r\n }\r\n // when the value changes for whatever reason.\r\n if (ctx.value !== value && ctx.normalizedEvents.length) {\r\n return true;\r\n }\r\n // when it needs validation due to props/cross-fields changes.\r\n if (ctx._needsValidation) {\r\n return true;\r\n }\r\n // when the initial value is undefined and the field wasn't rendered yet.\r\n if (!ctx.initialized && value === undefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction createValidationCtx(ctx) {\r\n return __assign(__assign({}, ctx.flags), { errors: ctx.errors, classes: ctx.classes, failedRules: ctx.failedRules, reset: function () { return ctx.reset(); }, validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return ctx.validate.apply(ctx, args);\r\n }, ariaInput: {\r\n 'aria-invalid': ctx.flags.invalid ? 'true' : 'false',\r\n 'aria-required': ctx.isRequired ? 'true' : 'false',\r\n 'aria-errormessage': \"vee_\" + ctx.id\r\n }, ariaMsg: {\r\n id: \"vee_\" + ctx.id,\r\n 'aria-live': ctx.errors.length ? 'assertive' : 'off'\r\n } });\r\n}\r\nfunction onRenderUpdate(vm, value) {\r\n if (!vm.initialized) {\r\n vm.initialValue = value;\r\n }\r\n var validateNow = shouldValidate(vm, value);\r\n vm._needsValidation = false;\r\n vm.value = value;\r\n vm._ignoreImmediate = true;\r\n if (!validateNow) {\r\n return;\r\n }\r\n var validate = function () {\r\n if (vm.immediate || vm.flags.validated) {\r\n return triggerThreadSafeValidation(vm);\r\n }\r\n vm.validateSilent();\r\n };\r\n if (vm.initialized) {\r\n validate();\r\n return;\r\n }\r\n vm.$once('hook:mounted', function () { return validate(); });\r\n}\r\nfunction computeModeSetting(ctx) {\r\n var compute = (isCallable(ctx.mode) ? ctx.mode : modes[ctx.mode]);\r\n return compute(ctx);\r\n}\r\nfunction triggerThreadSafeValidation(vm) {\r\n var pendingPromise = vm.validateSilent();\r\n // avoids race conditions between successive validations.\r\n vm._pendingValidation = pendingPromise;\r\n return pendingPromise.then(function (result) {\r\n if (pendingPromise === vm._pendingValidation) {\r\n vm.applyResult(result);\r\n vm._pendingValidation = undefined;\r\n }\r\n return result;\r\n });\r\n}\r\n// Creates the common handlers for a validatable context.\r\nfunction createCommonHandlers(vm) {\r\n if (!vm.$veeOnInput) {\r\n vm.$veeOnInput = function (e) {\r\n vm.syncValue(e); // track and keep the value updated.\r\n vm.setFlags({ dirty: true, pristine: false });\r\n };\r\n }\r\n var onInput = vm.$veeOnInput;\r\n if (!vm.$veeOnBlur) {\r\n vm.$veeOnBlur = function () {\r\n vm.setFlags({ touched: true, untouched: false });\r\n };\r\n }\r\n // Blur event listener.\r\n var onBlur = vm.$veeOnBlur;\r\n var onValidate = vm.$veeHandler;\r\n var mode = computeModeSetting(vm);\r\n // Handle debounce changes.\r\n if (!onValidate || vm.$veeDebounce !== vm.debounce) {\r\n onValidate = debounce(function () {\r\n vm.$nextTick(function () {\r\n if (!vm._pendingReset) {\r\n triggerThreadSafeValidation(vm);\r\n }\r\n vm._pendingReset = false;\r\n });\r\n }, mode.debounce || vm.debounce);\r\n // Cache the handler so we don't create it each time.\r\n vm.$veeHandler = onValidate;\r\n // cache the debounce value so we detect if it was changed.\r\n vm.$veeDebounce = vm.debounce;\r\n }\r\n return { onInput: onInput, onBlur: onBlur, onValidate: onValidate };\r\n}\r\n// Adds all plugin listeners to the vnode.\r\nfunction addListeners(vm, node) {\r\n var _a;\r\n var value = findValue(node);\r\n // cache the input eventName.\r\n vm._inputEventName = vm._inputEventName || getInputEventName(node, findModel(node));\r\n onRenderUpdate(vm, (_a = value) === null || _a === void 0 ? void 0 : _a.value);\r\n var _b = createCommonHandlers(vm), onInput = _b.onInput, onBlur = _b.onBlur, onValidate = _b.onValidate;\r\n addVNodeListener(node, vm._inputEventName, onInput);\r\n addVNodeListener(node, 'blur', onBlur);\r\n // add the validation listeners.\r\n vm.normalizedEvents.forEach(function (evt) {\r\n addVNodeListener(node, evt, onValidate);\r\n });\r\n vm.initialized = true;\r\n}\n\nvar PROVIDER_COUNTER = 0;\r\nfunction data() {\r\n var errors = [];\r\n var fieldName = '';\r\n var defaultValues = {\r\n errors: errors,\r\n value: undefined,\r\n initialized: false,\r\n initialValue: undefined,\r\n flags: createFlags(),\r\n failedRules: {},\r\n isActive: true,\r\n fieldName: fieldName,\r\n id: ''\r\n };\r\n return defaultValues;\r\n}\r\nvar ValidationProvider = Vue.extend({\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n this.$vnode.context.$_veeObserver = createObserver();\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: ''\r\n },\r\n name: {\r\n type: String,\r\n default: null\r\n },\r\n mode: {\r\n type: [String, Function],\r\n default: function () {\r\n return getConfig().mode;\r\n }\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: null\r\n },\r\n immediate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n bails: {\r\n type: Boolean,\r\n default: function () { return getConfig().bails; }\r\n },\r\n skipIfEmpty: {\r\n type: Boolean,\r\n default: function () { return getConfig().skipOptional; }\r\n },\r\n debounce: {\r\n type: Number,\r\n default: 0\r\n },\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n customMessages: {\r\n type: Object,\r\n default: function () {\r\n return {};\r\n }\r\n }\r\n },\r\n watch: {\r\n rules: {\r\n deep: true,\r\n handler: function (val, oldVal) {\r\n this._needsValidation = !isEqual(val, oldVal);\r\n }\r\n }\r\n },\r\n data: data,\r\n computed: {\r\n fieldDeps: function () {\r\n var _this = this;\r\n return Object.keys(this.normalizedRules).reduce(function (acc, rule) {\r\n var deps = extractLocators(_this.normalizedRules[rule]).map(function (dep) { return dep.__locatorRef; });\r\n acc.push.apply(acc, deps);\r\n deps.forEach(function (depName) {\r\n watchCrossFieldDep(_this, depName);\r\n });\r\n return acc;\r\n }, []);\r\n },\r\n normalizedEvents: function () {\r\n var _this = this;\r\n var on = computeModeSetting(this).on;\r\n return (on || []).map(function (e) {\r\n if (e === 'input') {\r\n return _this._inputEventName;\r\n }\r\n return e;\r\n });\r\n },\r\n isRequired: function () {\r\n var rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n var isRequired = Object.keys(rules).some(RuleContainer.isRequireRule);\r\n this.flags.required = !!isRequired;\r\n return isRequired;\r\n },\r\n classes: function () {\r\n var names = getConfig().classes;\r\n return computeClassObj(names, this.flags);\r\n },\r\n normalizedRules: function () {\r\n return normalizeRules(this.rules);\r\n }\r\n },\r\n created: function () {\r\n var _this = this;\r\n var onLocaleChanged = function () {\r\n if (!_this.flags.validated) {\r\n return;\r\n }\r\n var regenerateMap = _this._regenerateMap;\r\n if (regenerateMap) {\r\n var errors_1 = [];\r\n var failedRules_1 = {};\r\n Object.keys(regenerateMap).forEach(function (rule) {\r\n var msg = regenerateMap[rule]();\r\n errors_1.push(msg);\r\n failedRules_1[rule] = msg;\r\n });\r\n _this.applyResult({ errors: errors_1, failedRules: failedRules_1, regenerateMap: regenerateMap });\r\n return;\r\n }\r\n _this.validate();\r\n };\r\n EVENT_BUS.$on('change:locale', onLocaleChanged);\r\n this.$on('hook:beforeDestroy', function () {\r\n EVENT_BUS.$off('change:locale', onLocaleChanged);\r\n });\r\n },\r\n render: function (h) {\r\n var _this = this;\r\n this.registerField();\r\n var ctx = createValidationCtx(this);\r\n var children = normalizeChildren(this, ctx);\r\n // Handle single-root slot.\r\n extractVNodes(children).forEach(function (input) {\r\n var _a, _b, _c, _d;\r\n // resolved rules are not reactive because it has a new reference each time.\r\n // causing infinite render-loops.\r\n // So we are comparing them manually to decide if we need to validate or not.\r\n var resolved = getConfig().useConstraintAttrs ? resolveRules(input) : {};\r\n if (!isEqual(_this._resolvedRules, resolved)) {\r\n _this._needsValidation = true;\r\n }\r\n if (isHTMLNode(input)) {\r\n _this.fieldName = ((_b = (_a = input.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.name) || ((_d = (_c = input.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d.id);\r\n }\r\n _this._resolvedRules = resolved;\r\n addListeners(_this, input);\r\n });\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, children);\r\n },\r\n beforeDestroy: function () {\r\n // cleanup reference.\r\n this.$_veeObserver.unobserve(this.id);\r\n },\r\n activated: function () {\r\n this.isActive = true;\r\n },\r\n deactivated: function () {\r\n this.isActive = false;\r\n },\r\n methods: {\r\n setFlags: function (flags) {\r\n var _this = this;\r\n Object.keys(flags).forEach(function (flag) {\r\n _this.flags[flag] = flags[flag];\r\n });\r\n },\r\n syncValue: function (v) {\r\n var value = normalizeEventValue(v);\r\n this.value = value;\r\n this.flags.changed = this.initialValue !== value;\r\n },\r\n reset: function () {\r\n var _this = this;\r\n this.errors = [];\r\n this.initialValue = this.value;\r\n var flags = createFlags();\r\n flags.required = this.isRequired;\r\n this.setFlags(flags);\r\n this.failedRules = {};\r\n this.validateSilent();\r\n this._pendingValidation = undefined;\r\n this._pendingReset = true;\r\n setTimeout(function () {\r\n _this._pendingReset = false;\r\n }, this.debounce);\r\n },\r\n validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (args.length > 0) {\r\n this.syncValue(args[0]);\r\n }\r\n return [2 /*return*/, triggerThreadSafeValidation(this)];\r\n });\r\n });\r\n },\r\n validateSilent: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var rules, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.setFlags({ pending: true });\r\n rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n Object.defineProperty(rules, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n return [4 /*yield*/, validate(this.value, rules, __assign(__assign({ name: this.name || this.fieldName }, createLookup(this)), { bails: this.bails, skipIfEmpty: this.skipIfEmpty, isInitial: !this.initialized, customMessages: this.customMessages }))];\r\n case 1:\r\n result = _a.sent();\r\n this.setFlags({\r\n pending: false,\r\n valid: result.valid,\r\n invalid: !result.valid\r\n });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n },\r\n setErrors: function (errors) {\r\n this.applyResult({ errors: errors, failedRules: {} });\r\n },\r\n applyResult: function (_a) {\r\n var errors = _a.errors, failedRules = _a.failedRules, regenerateMap = _a.regenerateMap;\r\n this.errors = errors;\r\n this._regenerateMap = regenerateMap;\r\n this.failedRules = __assign({}, (failedRules || {}));\r\n this.setFlags({\r\n valid: !errors.length,\r\n passed: !errors.length,\r\n invalid: !!errors.length,\r\n failed: !!errors.length,\r\n validated: true,\r\n changed: this.value !== this.initialValue\r\n });\r\n },\r\n registerField: function () {\r\n updateRenderingContextRefs(this);\r\n }\r\n }\r\n});\r\nfunction computeClassObj(names, flags) {\r\n var acc = {};\r\n var keys = Object.keys(flags);\r\n var length = keys.length;\r\n var _loop_1 = function (i) {\r\n var flag = keys[i];\r\n var className = (names && names[flag]) || flag;\r\n var value = flags[flag];\r\n if (isNullOrUndefined(value)) {\r\n return \"continue\";\r\n }\r\n if ((flag === 'valid' || flag === 'invalid') && !flags.validated) {\r\n return \"continue\";\r\n }\r\n if (typeof className === 'string') {\r\n acc[className] = value;\r\n }\r\n else if (Array.isArray(className)) {\r\n className.forEach(function (cls) {\r\n acc[cls] = value;\r\n });\r\n }\r\n };\r\n for (var i = 0; i < length; i++) {\r\n _loop_1(i);\r\n }\r\n return acc;\r\n}\r\nfunction createLookup(vm) {\r\n var providers = vm.$_veeObserver.refs;\r\n var reduced = {\r\n names: {},\r\n values: {}\r\n };\r\n return vm.fieldDeps.reduce(function (acc, depName) {\r\n if (!providers[depName]) {\r\n return acc;\r\n }\r\n acc.values[depName] = providers[depName].value;\r\n acc.names[depName] = providers[depName].name;\r\n return acc;\r\n }, reduced);\r\n}\r\nfunction extractId(vm) {\r\n if (vm.vid) {\r\n return vm.vid;\r\n }\r\n if (vm.name) {\r\n return vm.name;\r\n }\r\n if (vm.id) {\r\n return vm.id;\r\n }\r\n if (vm.fieldName) {\r\n return vm.fieldName;\r\n }\r\n PROVIDER_COUNTER++;\r\n return \"_vee_\" + PROVIDER_COUNTER;\r\n}\r\nfunction updateRenderingContextRefs(vm) {\r\n var providedId = extractId(vm);\r\n var id = vm.id;\r\n // Nothing has changed.\r\n if (!vm.isActive || (id === providedId && vm.$_veeObserver.refs[id])) {\r\n return;\r\n }\r\n // vid was changed.\r\n if (id !== providedId && vm.$_veeObserver.refs[id] === vm) {\r\n vm.$_veeObserver.unobserve(id);\r\n }\r\n vm.id = providedId;\r\n vm.$_veeObserver.observe(vm);\r\n}\r\nfunction createObserver() {\r\n return {\r\n refs: {},\r\n observe: function (vm) {\r\n this.refs[vm.id] = vm;\r\n },\r\n unobserve: function (id) {\r\n delete this.refs[id];\r\n }\r\n };\r\n}\r\nfunction watchCrossFieldDep(ctx, depName, withHooks) {\r\n if (withHooks === void 0) { withHooks = true; }\r\n var providers = ctx.$_veeObserver.refs;\r\n if (!ctx._veeWatchers) {\r\n ctx._veeWatchers = {};\r\n }\r\n if (!providers[depName] && withHooks) {\r\n return ctx.$once('hook:mounted', function () {\r\n watchCrossFieldDep(ctx, depName, false);\r\n });\r\n }\r\n if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {\r\n ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {\r\n if (ctx.flags.validated) {\r\n ctx._needsValidation = true;\r\n ctx.validate();\r\n }\r\n });\r\n }\r\n}\n\nvar FLAGS_STRATEGIES = [\r\n ['pristine', 'every'],\r\n ['dirty', 'some'],\r\n ['touched', 'some'],\r\n ['untouched', 'every'],\r\n ['valid', 'every'],\r\n ['invalid', 'some'],\r\n ['pending', 'some'],\r\n ['validated', 'every'],\r\n ['changed', 'some'],\r\n ['passed', 'every'],\r\n ['failed', 'some']\r\n];\r\nvar OBSERVER_COUNTER = 0;\r\nfunction data$1() {\r\n var refs = {};\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n // FIXME: Not sure of this one can be typed, circular type reference.\r\n var observers = [];\r\n return {\r\n id: '',\r\n refs: refs,\r\n observers: observers,\r\n errors: errors,\r\n flags: flags,\r\n fields: fields\r\n };\r\n}\r\nfunction provideSelf() {\r\n return {\r\n $_veeObserver: this\r\n };\r\n}\r\nvar ValidationObserver = Vue.extend({\r\n name: 'ValidationObserver',\r\n provide: provideSelf,\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n return null;\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n vid: {\r\n type: String,\r\n default: function () {\r\n return \"obs_\" + OBSERVER_COUNTER++;\r\n }\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data: data$1,\r\n created: function () {\r\n var _this = this;\r\n this.id = this.vid;\r\n register(this);\r\n var onChange = debounce(function (_a) {\r\n var errors = _a.errors, flags = _a.flags, fields = _a.fields;\r\n _this.errors = errors;\r\n _this.flags = flags;\r\n _this.fields = fields;\r\n }, 16);\r\n this.$watch(computeObserverState, onChange);\r\n },\r\n activated: function () {\r\n register(this);\r\n },\r\n deactivated: function () {\r\n unregister(this);\r\n },\r\n beforeDestroy: function () {\r\n unregister(this);\r\n },\r\n render: function (h) {\r\n var children = normalizeChildren(this, prepareSlotProps(this));\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, { on: this.$listeners }, children);\r\n },\r\n methods: {\r\n observe: function (subscriber, kind) {\r\n var _a;\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'observer') {\r\n this.observers.push(subscriber);\r\n return;\r\n }\r\n this.refs = __assign(__assign({}, this.refs), (_a = {}, _a[subscriber.id] = subscriber, _a));\r\n },\r\n unobserve: function (id, kind) {\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'provider') {\r\n var provider = this.refs[id];\r\n if (!provider) {\r\n return;\r\n }\r\n this.$delete(this.refs, id);\r\n return;\r\n }\r\n var idx = findIndex(this.observers, function (o) { return o.id === id; });\r\n if (idx !== -1) {\r\n this.observers.splice(idx, 1);\r\n }\r\n },\r\n validate: function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).silent, silent = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var results;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0: return [4 /*yield*/, Promise.all(__spreadArrays(values(this.refs)\r\n .filter(function (r) { return !r.disabled; })\r\n .map(function (ref) { return ref[silent ? 'validateSilent' : 'validate']().then(function (r) { return r.valid; }); }), this.observers.filter(function (o) { return !o.disabled; }).map(function (obs) { return obs.validate({ silent: silent }); })))];\r\n case 1:\r\n results = _c.sent();\r\n return [2 /*return*/, results.every(function (r) { return r; })];\r\n }\r\n });\r\n });\r\n },\r\n handleSubmit: function (cb) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isValid;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validate()];\r\n case 1:\r\n isValid = _a.sent();\r\n if (!isValid || !cb) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, cb()];\r\n }\r\n });\r\n });\r\n },\r\n reset: function () {\r\n return __spreadArrays(values(this.refs), this.observers).forEach(function (ref) { return ref.reset(); });\r\n },\r\n setErrors: function (errors) {\r\n var _this = this;\r\n Object.keys(errors).forEach(function (key) {\r\n var provider = _this.refs[key];\r\n if (!provider)\r\n return;\r\n var errorArr = errors[key] || [];\r\n errorArr = typeof errorArr === 'string' ? [errorArr] : errorArr;\r\n provider.setErrors(errorArr);\r\n });\r\n this.observers.forEach(function (observer) {\r\n observer.setErrors(errors);\r\n });\r\n }\r\n }\r\n});\r\nfunction unregister(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.unobserve(vm.id, 'observer');\r\n }\r\n}\r\nfunction register(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.observe(vm, 'observer');\r\n }\r\n}\r\nfunction prepareSlotProps(vm) {\r\n return __assign(__assign({}, vm.flags), { errors: vm.errors, fields: vm.fields, validate: vm.validate, passes: vm.handleSubmit, handleSubmit: vm.handleSubmit, reset: vm.reset });\r\n}\r\n// Creates a modified version of validation flags\r\nfunction createObserverFlags() {\r\n return __assign(__assign({}, createFlags()), { valid: true, invalid: false });\r\n}\r\nfunction computeObserverState() {\r\n var vms = __spreadArrays(values(this.refs), this.observers);\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n var length = vms.length;\r\n for (var i = 0; i < length; i++) {\r\n var vm = vms[i];\r\n // validation provider\r\n if (Array.isArray(vm.errors)) {\r\n errors[vm.id] = vm.errors;\r\n fields[vm.id] = __assign({ id: vm.id, name: vm.name, failedRules: vm.failedRules }, vm.flags);\r\n continue;\r\n }\r\n // Nested observer, merge errors and fields\r\n errors = __assign(__assign({}, errors), vm.errors);\r\n fields = __assign(__assign({}, fields), vm.fields);\r\n }\r\n FLAGS_STRATEGIES.forEach(function (_a) {\r\n var flag = _a[0], method = _a[1];\r\n flags[flag] = vms[method](function (vm) { return vm.flags[flag]; });\r\n });\r\n return { errors: errors, flags: flags, fields: fields };\r\n}\n\nfunction withValidation(component, mapProps) {\r\n if (mapProps === void 0) { mapProps = identity; }\r\n var _a, _b;\r\n var options = 'options' in component ? component.options : component;\r\n var providerOpts = ValidationProvider.options;\r\n var hoc = {\r\n name: (options.name || 'AnonymousHoc') + \"WithValidation\",\r\n props: __assign({}, providerOpts.props),\r\n data: providerOpts.data,\r\n computed: __assign({}, providerOpts.computed),\r\n methods: __assign({}, providerOpts.methods),\r\n beforeDestroy: providerOpts.beforeDestroy,\r\n inject: providerOpts.inject\r\n };\r\n var eventName = ((_b = (_a = options) === null || _a === void 0 ? void 0 : _a.model) === null || _b === void 0 ? void 0 : _b.event) || 'input';\r\n hoc.render = function (h) {\r\n var _a;\r\n var _b, _c;\r\n this.registerField();\r\n var vctx = createValidationCtx(this);\r\n var listeners = __assign({}, this.$listeners);\r\n var model = findModel(this.$vnode);\r\n this._inputEventName = this._inputEventName || getInputEventName(this.$vnode, model);\r\n var value = findValue(this.$vnode);\r\n onRenderUpdate(this, (_b = value) === null || _b === void 0 ? void 0 : _b.value);\r\n var _d = createCommonHandlers(this), onInput = _d.onInput, onBlur = _d.onBlur, onValidate = _d.onValidate;\r\n mergeVNodeListeners(listeners, eventName, onInput);\r\n mergeVNodeListeners(listeners, 'blur', onBlur);\r\n this.normalizedEvents.forEach(function (evt) {\r\n mergeVNodeListeners(listeners, evt, onValidate);\r\n });\r\n // Props are any attrs not associated with ValidationProvider Plus the model prop.\r\n // WARNING: Accidental prop overwrite will probably happen.\r\n var prop = (findModelConfig(this.$vnode) || { prop: 'value' }).prop;\r\n var props = __assign(__assign(__assign({}, this.$attrs), (_a = {}, _a[prop] = (_c = model) === null || _c === void 0 ? void 0 : _c.value, _a)), mapProps(vctx));\r\n return h(options, {\r\n attrs: this.$attrs,\r\n props: props,\r\n on: listeners\r\n }, normalizeSlots(this.$slots, this.$vnode.context));\r\n };\r\n return hoc;\r\n}\n\nvar version = '3.2.3';\n\nexport { ValidationObserver, ValidationProvider, configure, extend, localeChanged, localize, normalizeRules, setInteractionMode, validate, version, withValidation };\n","/*!\n * vue-i18n v8.15.3 \n * (c) 2019 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'style',\n 'currency',\n 'currencyDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'localeMatcher',\n 'formatMatcher',\n 'unit'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || Array.isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || Array.isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\nvar mixin = {\n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if (options.__i18n) {\n try {\n var localeMessages = {};\n options.__i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n // component local i18n\n if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = this.$root.$i18n.formatter;\n options.i18n.fallbackLocale = this.$root.$i18n.fallbackLocale;\n options.i18n.formatFallbackMessages = this.$root.$i18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = this.$root.$i18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = this.$root.$i18n.silentFallbackWarn;\n options.i18n.pluralizationRules = this.$root.$i18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = this.$root.$i18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if (options.__i18n) {\n try {\n var localeMessages$1 = {};\n options.__i18n.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n\n self._i18n = null;\n });\n }\n};\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: String\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = props.tag || 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (typeof props.format === 'string') {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (numberFormatKeys.includes(prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n return h(props.tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (typeof value === 'string') {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install (_Vue) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(mixin);\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|.]+|\\([\\w\\-_|.]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = [];\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (Array.isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (typeof message === 'string') {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.push(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var self = this;\n return this._vm.$watch('$data', function () {\n var i = self._dataListeners.length;\n while (i--) {\n Vue.nextTick(function () {\n self._dataListeners[i] && self._dataListeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale () {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (typeof missingRet === 'string') {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, 'string', parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return !val && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (Array.isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (typeof ret !== 'string') {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string!\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (typeof pathRet === 'string') {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (visitedLinkStack.includes(linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n Array.isArray(values) ? values : [values]\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' ? ret.join('') : ret\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var res =\n this._interpolate(locale, messages[locale], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) { return res }\n\n res = this._interpolate(fallback, messages[fallback], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + fallback + \"' locale.\"));\n }\n return res\n } else {\n return null\n }\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n return this._warnDefault(locale, key, ret, host, values)\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values])\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (typeof locale !== 'string') {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message && typeof message !== 'string') { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\n/**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n*/\nVueI18n.prototype.getChoiceIndex = function getChoiceIndex (choice, choicesLength) {\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this.locale in this.pluralizationRules) {\n return this.pluralizationRules[this.locale].apply(this, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n if (this._warnHtmlInMessage === 'error') { return }\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n if (this._warnHtmlInMessage === 'error') { return }\n }\n this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + fallback + \"' datetime formats from '\" + locale + \"' datetime formats.\"));\n }\n _locale = fallback;\n formats = dateTimeFormats[_locale];\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n var id = _locale + \"__\" + key;\n var formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n return new Intl.DateTimeFormat(locale).format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n\n if (args.length === 1) {\n if (typeof args[0] === 'string') {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n key = args[0];\n }\n if (typeof args[1] === 'string') {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + fallback + \"' number formats from '\" + locale + \"' number formats.\"));\n }\n _locale = fallback;\n formats = numberFormats[_locale];\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (typeof args[0] === 'string') {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (numberFormatKeys.includes(key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n key = args[0];\n }\n if (typeof args[1] === 'string') {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.15.3';\n\nexport default VueI18n;\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.lineClamp = {}));\n}(this, (function (exports) { 'use strict';\n\n function addStyle (el, binding) {\n el.style['-webkit-line-clamp'] = binding.value || 1;\n el.style['word-break'] = 'break-all';\n el.style['text-overflow'] = 'ellipsis';\n el.style['overflow'] = 'hidden';\n el.style['display'] = '-webkit-box';\n el.style['-webkit-box-orient'] = 'vertical';\n }\n\n var lineClamp = {\n bind: addStyle,\n update: addStyle\n };\n var index = {\n install: function (Vue) {\n Vue.directive('lineClamp', lineClamp);\n }\n };\n\n exports.default = index;\n exports.lineClamp = lineClamp;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n"],"sourceRoot":""}