{"version":3,"sources":["webpack:///./node_modules/lodash/_baseSet.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/vant/es/mixins/field.js","webpack:///./node_modules/vant/es/mixins/checkbox.js","webpack:///./node_modules/vant/es/checkbox/index.js","webpack:///./node_modules/vant/es/utils/router.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/vant/es/utils/validate/system.js","webpack:///./node_modules/vant/es/utils/dom/reset-scroll.js","webpack:///./node_modules/vant/es/utils/format/number.js","webpack:///./node_modules/vant/es/cell/shared.js","webpack:///./node_modules/vant/es/cell/index.js","webpack:///./node_modules/vant/es/field/index.js","webpack:///./node_modules/vant/es/form/style/less.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/vant/es/form/index.js","webpack:///./node_modules/lodash/pickBy.js","webpack:///./src/api/login.js","webpack:///./node_modules/js-md5/src/md5.js","webpack:///./src/mixins/useEmail.js","webpack:///./node_modules/lodash/_basePickBy.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/vant/es/checkbox/style/less.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/field/style/less.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/vant/es/button/index.js","webpack:///./node_modules/vant/es/button/style/less.js","webpack:///./node_modules/vant/es/utils/vnodes.js"],"names":["assignValue","castPath","isIndex","isObject","toKey","baseSet","object","path","value","customizer","index","length","lastIndex","nested","key","newValue","objValue","undefined","module","exports","__webpack_amd_options__","root","now","Date","FieldMixin","inject","vanField","default","watch","field","this","resetValidation","validateWithTrigger","created","children","_ref","parent","bem","role","mixins","props","name","disabled","Boolean","iconSize","Number","String","checkedColor","labelPosition","labelDisabled","shape","type","bindGroup","computed","disableBindRelation","isDisabled","direction","iconStyle","checked","borderColor","backgroundColor","tabindex","methods","onClick","event","_this","target","icon","$refs","iconClicked","contains","$emit","toggle","setTimeout","genIcon","h","$createElement","fontSize","slots","genLabel","slot","render","arguments","Children","unshift","push","_createNamespace","create","createComponent","get","indexOf","set","val","setParentValue","clearTimeout","toggleTask","slice","max","splice","isRedundantNavigation","err","message","route","router","config","to","url","replace","promise","catch","location","href","functionalRoute","context","$router","routeProps","Object","reWhitespace","trimmedEndIndex","string","test","charAt","isIOS","navigator","userAgent","toLowerCase","resetScroll","trimExtraChar","_char","regExp","prefix","match","formatNumber","allowDot","allowMinus","split","cellProps","size","center","isLink","required","iconPrefix","titleStyle","titleClass","valueClass","labelClass","title","label","arrowDirection","border","clickable","Cell","ctx","_props$clickable","showTitle","Label","showLabel","Title","Value","showValue","alone","LeftIcon","RightIcon","rightIconSlot","classes","borderless","extra","inheritAttrs","provide","vanForm","rules","Array","readonly","autosize","leftIcon","rightIcon","clearable","formatter","Function","maxlength","labelWidth","labelAlign","inputAlign","placeholder","errorMessage","errorMessageAlign","showWordLimit","error","colon","clearTrigger","formatTrigger","data","focused","validateFailed","validateMessage","updateValue","$nextTick","adjustSize","mounted","addField","beforeDestroy","removeField","showClear","getProp","hasValue","trigger","showError","listeners","$listeners","blur","onBlur","focus","onFocus","input","onInput","click","onClickInput","keypress","onKeypress","labelStyle","width","formValue","$scopedSlots","$slots","runValidator","rule","Promise","resolve","returnVal","validator","then","isEmptyValue","isArray","runSyncRule","pattern","getRuleMessage","runRules","reduce","result","validate","_this2","defaultTrigger","validateTrigger","filter","isNumber","composing","onClickLeftIcon","onClickRightIcon","onClear","ENTER_CODE","keyCode","submitOnEnter","scrollTop","style","height","scrollHeight","_this$autosize","maxHeight","minHeight","Math","min","genInput","inputSlot","inputProps","ref","class","domProps","attrs","$attrs","on","directives","inputMode","inputType","genLeftIcon","showLeftIcon","genRightIcon","showRightIcon","genWordLimit","count","genMessage","showErrorMessage","_bem","scopedSlots","baseGetTag","getPrototype","isObjectLike","objectTag","funcProto","prototype","objectProto","funcToString","toString","hasOwnProperty","objectCtorString","call","isPlainObject","proto","Ctor","constructor","scrollToError","validateFirst","fields","getFieldsByNames","names","validateSeq","reject","errors","validateFields","all","map","item","validateField","matched","forEach","scrollToField","options","some","$el","scrollIntoView","getValues","form","onSubmit","preventDefault","submit","_this3","values","arrayMap","baseIteratee","basePickBy","getAllKeysIn","pickBy","predicate","prop","emailInit","_x","_emailInit","apply","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","http","post","stop","sendCode","params","picCheckSendCode","captchaLogin","staticLogin","picCheckLogin","register","resetPassword","getProtocol","baseURL","window","host","getWebTicket","returnUrl","axiosConfig","_objectSpread","disabledToast","logout","ERROR","WINDOW","JS_MD5_NO_WINDOW","WEB_WORKER","self","NODE_JS","JS_MD5_NO_NODE_JS","process","versions","node","global","COMMON_JS","JS_MD5_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","blocks","buffer8","buffer","Uint8Array","Uint32Array","obj","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","createOutputMethod","outputType","Md5","update","createMethod","method","nodeWrap","i","crypto","eval","Buffer","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","start","bytes","hBytes","finalized","hashed","first","notString","code","charCodeAt","lastByteIndex","hash","finalize","a","b","c","d","bc","da","hex","array","arrayBuffer","base64","v1","v2","v3","base64Str","md5","ueAppId","flowIdList","_defineProperty","EmailType","StaticLogin","CodeLogin","Register","ResetPassword","RevokeAccount","emailMd5","timer","captchaText","$t","captchaDisabled","captchaInstance","captchaOptions","beforeCaptchaMount","onCaptchaSuccess","onCaptchaFailed","errorCaptchaCaptured","console","log","setDisabled","end","clearInterval","countdown","time","initTime","seconds","setInterval","web_pageid","concat","$route","Logs","imgLog_Button","web_buttonid","ueInitClient","email","appId","initEmail","keyArr","emailAes","_context2","toUpperCase","query","jsonParser","sessionStorage","getItem","encodeURIComponent","_concatInstanceProperty","sent","_Object$assign","flowId","encryptAes","cipherUserInfo","cipherTextType","debounce","_callee2","emailType","cipherInfo","captchaInfo","_captchaInfo$nextActi","nextAction","captchaParams","_args2","_context3","isFunction","_JSON$stringify","handleTCaptcha","getCaptchaAppId","handleTCaptchaSuccess","initError","t0","_x2","res","_this4","_callee3","_captchaInfo$nextActi2","_context4","_context5","ret","outInfo","tyData","ticket","randStr","randstr","errorCode","emailStaticLogin","callback","_this5","_callee4","_yield$staticLogin","_yield$staticLogin$ne","userInfo","_context6","password","loginRsaEncrypt","_objectWithoutProperties","_excluded","handleTLoginSuccess","_this6","_callee5","_yield$picCheckLogin","_yield$picCheckLogin$","_context7","_context8","_excluded2","emailCaptchaLogin","emailCode","captcha","emailRegister","emailResetPassword","baseGet","paths","reTrimStart","baseTrim","ChildrenMixin","_parent","_inject","_computed","indexKey","bindRelation","ParentMixin","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_SURROUND","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","Button","tag","color","plain","loading","hairline","loadingText","iconPosition","onTouchstart","background","block","round","square","renderIcon","loadingSize","loadingType","renderContent","text","content","nativeType","flattenVNodes","vnodes","traverse","vnode","componentInstance","$children","$vnode","sortChildren","componentOptions","sort"],"mappings":"0IAAA,IAAIA,EAAc,EAAQ,QACtBC,EAAW,EAAQ,QACnBC,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBC,EAAQ,EAAQ,QAYpB,SAASC,EAAQC,EAAQC,EAAMC,EAAOC,GACpC,IAAKN,EAASG,GACZ,OAAOA,EAETC,EAAON,EAASM,EAAMD,GAEtB,IAAII,GAAS,EACTC,EAASJ,EAAKI,OACdC,EAAYD,EAAS,EACrBE,EAASP,EAEb,MAAiB,MAAVO,KAAoBH,EAAQC,EAAQ,CACzC,IAAIG,EAAMV,EAAMG,EAAKG,IACjBK,EAAWP,EAEf,GAAY,cAARM,GAA+B,gBAARA,GAAiC,cAARA,EAClD,OAAOR,EAGT,GAAII,GAASE,EAAW,CACtB,IAAII,EAAWH,EAAOC,GACtBC,EAAWN,EAAaA,EAAWO,EAAUF,EAAKD,QAAUI,OAC3CA,IAAbF,IACFA,EAAWZ,EAASa,GAChBA,EACCd,EAAQK,EAAKG,EAAQ,IAAM,GAAK,IAGzCV,EAAYa,EAAQC,EAAKC,GACzBF,EAASA,EAAOC,GAElB,OAAOR,EAGTY,EAAOC,QAAUd,G,6CClDjB,YACAa,EAAOC,QAAUC,I,sCCDjB,IAAIC,EAAO,EAAQ,QAkBfC,EAAM,WACR,OAAOD,EAAKE,KAAKD,OAGnBJ,EAAOC,QAAUG,G,gECtBNE,EAAa,CACtBC,OAAQ,CACNC,SAAU,CACRC,QAAS,OAGbC,MAAO,CACLpB,MAAO,WACL,IAAIqB,EAAQC,KAAKJ,SAEbG,IACFA,EAAME,kBACNF,EAAMG,oBAAoB,eAIhCC,QAAS,WACP,IAAIJ,EAAQC,KAAKJ,SAEbG,IAAUA,EAAMK,WAClBL,EAAMK,SAAWJ,Q,wBCbZ,EAAgB,SAAuBK,GAChD,IAAIC,EAASD,EAAKC,OACdC,EAAMF,EAAKE,IACXC,EAAOH,EAAKG,KAChB,MAAO,CACLC,OAAQ,CAAC,eAAcH,GAASZ,GAChCgB,MAAO,CACLC,KAAM,KACNjC,MAAO,KACPkC,SAAUC,QACVC,SAAU,CAACC,OAAQC,QACnBC,aAAcD,OACdE,cAAeF,OACfG,cAAeN,QACfO,MAAO,CACLC,KAAML,OACNnB,QAAS,SAEXyB,UAAW,CACTD,KAAMR,QACNhB,SAAS,IAGb0B,SAAU,CACRC,oBAAqB,WACnB,OAAQxB,KAAKsB,WAEfG,WAAY,WACV,OAAOzB,KAAKM,QAAUN,KAAKM,OAAOM,UAAYZ,KAAKY,UAErDc,UAAW,WACT,OAAO1B,KAAKM,QAAUN,KAAKM,OAAOoB,WAAa,MAEjDC,UAAW,WACT,IAAIV,EAAejB,KAAKiB,cAAgBjB,KAAKM,QAAUN,KAAKM,OAAOW,aAEnE,GAAIA,GAAgBjB,KAAK4B,UAAY5B,KAAKyB,WACxC,MAAO,CACLI,YAAaZ,EACba,gBAAiBb,IAIvBc,SAAU,WACR,OAAI/B,KAAKyB,YAAuB,UAATjB,IAAqBR,KAAK4B,SACvC,EAGH,IAGXI,QAAS,CACPC,QAAS,SAAiBC,GACxB,IAAIC,EAAQnC,KAERoC,EAASF,EAAME,OACfC,EAAOrC,KAAKsC,MAAMD,KAClBE,EAAcF,IAASD,IAAmB,MAARC,OAAe,EAASA,EAAKG,SAASJ,IAEvEpC,KAAKyB,aAAec,GAAgBvC,KAAKmB,cAQ5CnB,KAAKyC,MAAM,QAASP,IAPpBlC,KAAK0C,SAGLC,YAAW,WACTR,EAAMM,MAAM,QAASP,QAM3BU,QAAS,WACP,IAAIC,EAAI7C,KAAK8C,eACTlB,EAAU5B,KAAK4B,QACfd,EAAWd,KAAKc,UAAYd,KAAKM,QAAUN,KAAKM,OAAOQ,SAC3D,OAAO+B,EAAE,MAAO,CACd,IAAO,OACP,MAAStC,EAAI,OAAQ,CAACP,KAAKoB,MAAO,CAChCR,SAAUZ,KAAKyB,WACfG,QAASA,KAEX,MAAS,CACPmB,SAAU,eAAQjC,KAEnB,CAACd,KAAKgD,MAAM,OAAQ,CACrBpB,QAASA,KACLiB,EAAE,OAAM,CACZ,MAAS,CACP,KAAQ,WAEV,MAAS7C,KAAK2B,eAGlBsB,SAAU,WACR,IAAIJ,EAAI7C,KAAK8C,eACTI,EAAOlD,KAAKgD,QAEhB,GAAIE,EACF,OAAOL,EAAE,OAAQ,CACf,MAAStC,EAAI,QAAS,CAACP,KAAKkB,cAAe,CACzCN,SAAUZ,KAAKyB,eAEhB,CAACyB,MAIVC,OAAQ,WACN,IAAIN,EAAIO,UAAU,GACdC,EAAW,CAACrD,KAAK4C,WAQrB,MAN2B,SAAvB5C,KAAKkB,cACPmC,EAASC,QAAQtD,KAAKiD,YAEtBI,EAASE,KAAKvD,KAAKiD,YAGdJ,EAAE,MAAO,CACd,MAAS,CACP,KAAQrC,EACR,SAAYR,KAAK+B,SACjB,eAAgBf,OAAOhB,KAAK4B,UAE9B,MAASrB,EAAI,CAAC,CACZK,SAAUZ,KAAKyB,WACf,iBAAkBzB,KAAKmB,eACtBnB,KAAK0B,YACR,GAAM,CACJ,MAAS1B,KAAKiC,UAEf,CAACoB,OCpING,EAAmB,OAAAC,EAAA,MAAgB,YACnCC,EAAkBF,EAAiB,GACnC,EAAMA,EAAiB,GAEZ,OAAAE,EAAA,CACbjD,OAAQ,CAAC,EAAc,CACrBF,IAAK,EACLC,KAAM,WACNF,OAAQ,iBAEViB,SAAU,CACRK,QAAS,CACP+B,IAAK,WACH,OAAI3D,KAAKM,QAC0C,IAA1CN,KAAKM,OAAO5B,MAAMkF,QAAQ5D,KAAKW,MAGjCX,KAAKtB,OAEdmF,IAAK,SAAaC,GACZ9D,KAAKM,OACPN,KAAK+D,eAAeD,GAEpB9D,KAAKyC,MAAM,QAASqB,MAK5BhE,MAAO,CACLpB,MAAO,SAAeoF,GACpB9D,KAAKyC,MAAM,SAAUqB,KAGzB9B,QAAS,CAEPU,OAAQ,SAAgBd,GACtB,IAAIO,EAAQnC,UAEI,IAAZ4B,IACFA,GAAW5B,KAAK4B,SAMlBoC,aAAahE,KAAKiE,YAClBjE,KAAKiE,WAAatB,YAAW,WAC3BR,EAAMP,QAAUA,MAGpBmC,eAAgB,SAAwBD,GACtC,IAAIxD,EAASN,KAAKM,OACd5B,EAAQ4B,EAAO5B,MAAMwF,QAEzB,GAAIJ,EAAK,CACP,GAAIxD,EAAO6D,KAAOzF,EAAMG,QAAUyB,EAAO6D,IACvC,QAKgC,IAA9BzF,EAAMkF,QAAQ5D,KAAKW,QACrBjC,EAAM6E,KAAKvD,KAAKW,MAChBL,EAAOmC,MAAM,QAAS/D,QAEnB,CACL,IAAIE,EAAQF,EAAMkF,QAAQ5D,KAAKW,OAGhB,IAAX/B,IACFF,EAAM0F,OAAOxF,EAAO,GACpB0B,EAAOmC,MAAM,QAAS/D,U,oCCvEhC,SAAS2F,EAAsBC,GAC7B,MAAoB,yBAAbA,EAAI3D,MACX2D,EAAIC,UAA4D,IAAjDD,EAAIC,QAAQX,QAAQ,wBAG9B,SAASY,EAAMC,EAAQC,GAC5B,IAAIC,EAAKD,EAAOC,GACZC,EAAMF,EAAOE,IACbC,EAAUH,EAAOG,QAErB,GAAIF,GAAMF,EAAQ,CAChB,IAAIK,EAAUL,EAAOI,EAAU,UAAY,QAAQF,GAG/CG,GAAWA,EAAQC,OACrBD,EAAQC,OAAM,SAAUT,GACtB,GAAIA,IAAQD,EAAsBC,GAChC,MAAMA,UAIHM,IACTC,EAAUG,SAASH,QAAQD,GAAOI,SAASC,KAAOL,GAG/C,SAASM,EAAgBC,GAC9BX,EAAMW,EAAQ7E,QAAU6E,EAAQ7E,OAAO8E,QAASD,EAAQzE,OA7B1D,sGA+BO,IAAI2E,EAAa,CACtBT,IAAK5D,OACL6D,QAAShE,QACT8D,GAAI,CAAC3D,OAAQsE,U,qBCjCf,IAAIC,EAAe,KAUnB,SAASC,EAAgBC,GACvB,IAAI7G,EAAQ6G,EAAO5G,OAEnB,MAAOD,KAAW2G,EAAaG,KAAKD,EAAOE,OAAO/G,KAClD,OAAOA,EAGTQ,EAAOC,QAAUmG,G,qFCbV,SAASI,IAEd,OAAO,QAAmB,uBAAuBF,KAAKG,UAAUC,UAAUC,e,gBCDxE,EAAQ,IAGL,SAASC,IACV,GACF,eAAiB,kBCPrB,SAASC,EAAcvH,EAAOwH,EAAOC,GACnC,IAAIvH,EAAQF,EAAMkF,QAAQsC,GACtBE,EAAS,GAEb,OAAe,IAAXxH,EACKF,EAGK,MAAVwH,GAA2B,IAAVtH,EACZF,EAAMwF,MAAM,EAAGtF,IAGV,MAAVsH,GAAiBxH,EAAM2H,MAAM,eAC/BD,EAASxH,EAAQ,KAAO,KAGnBwH,EAAS1H,EAAMwF,MAAM,EAAGtF,EAAQ,GAAKF,EAAMwF,MAAMtF,GAAOiG,QAAQsB,EAAQ,KAG1E,SAASG,EAAa5H,EAAO6H,EAAUC,QAC3B,IAAbD,IACFA,GAAW,QAGM,IAAfC,IACFA,GAAa,GAIb9H,EADE6H,EACMN,EAAcvH,EAAO,IAAK,OAE1BA,EAAM+H,MAAM,KAAK,GAIzB/H,EADE8H,EACMP,EAAcvH,EAAO,IAAK,MAE1BA,EAAMmG,QAAQ,IAAK,IAG7B,IAAIsB,EAASI,EAAW,YAAc,WACtC,OAAO7H,EAAMmG,QAAQsB,EAAQ,I,4EC7CpBO,EAAY,CACrBrE,KAAMrB,OACN2F,KAAM3F,OACN4F,OAAQ/F,QACRgG,OAAQhG,QACRiG,SAAUjG,QACVkG,WAAY/F,OACZgG,WAAY,KACZC,WAAY,KACZC,WAAY,KACZC,WAAY,KACZC,MAAO,CAACrG,OAAQC,QAChBtC,MAAO,CAACqC,OAAQC,QAChBqG,MAAO,CAACtG,OAAQC,QAChBsG,eAAgBtG,OAChBuG,OAAQ,CACNlG,KAAMR,QACNhB,SAAS,GAEX2H,UAAW,CACTnG,KAAMR,QACNhB,QAAS,OCXT2D,EAAmB,OAAAC,EAAA,MAAgB,QACnCC,EAAkBF,EAAiB,GACnCjD,EAAMiD,EAAiB,GAE3B,SAASiE,EAAK5E,EAAGnC,EAAOsC,EAAO0E,GAC7B,IAAIC,EAEAtF,EAAO3B,EAAM2B,KACbsE,EAAOjG,EAAMiG,KACbS,EAAQ1G,EAAM0G,MACdC,EAAQ3G,EAAM2G,MACd3I,EAAQgC,EAAMhC,MACdmI,EAASnG,EAAMmG,OACfe,EAAY5E,EAAMoE,OAAS,eAAMA,GAErC,SAASS,IACP,IAAIC,EAAY9E,EAAMqE,OAAS,eAAMA,GAErC,GAAIS,EACF,OAAOjF,EAAE,MAAO,CACd,MAAS,CAACtC,EAAI,SAAUG,EAAMyG,aAC7B,CAACnE,EAAMqE,MAAQrE,EAAMqE,QAAUA,IAItC,SAASU,IACP,GAAIH,EACF,OAAO/E,EAAE,MAAO,CACd,MAAS,CAACtC,EAAI,SAAUG,EAAMuG,YAC9B,MAASvG,EAAMsG,YACd,CAAChE,EAAMoE,MAAQpE,EAAMoE,QAAUvE,EAAE,OAAQ,CAACuE,IAASS,MAI1D,SAASG,IACP,IAAIC,EAAYjF,EAAMnD,SAAW,eAAMnB,GAEvC,GAAIuJ,EACF,OAAOpF,EAAE,MAAO,CACd,MAAS,CAACtC,EAAI,QAAS,CACrB2H,OAAQN,IACNlH,EAAMwG,aACT,CAAClE,EAAMnD,QAAUmD,EAAMnD,UAAYgD,EAAE,OAAQ,CAACnE,MAIrD,SAASyJ,IACP,OAAInF,EAAMX,KACDW,EAAMX,OAGXA,EACKQ,EAAE,OAAM,CACb,MAAStC,EAAI,aACb,MAAS,CACP,KAAQ8B,EACR,YAAe3B,EAAMqG,mBAL3B,EAWF,SAASqB,IACP,IAAIC,EAAgBrF,EAAM,cAE1B,GAAIqF,EACF,OAAOA,IAGT,GAAIxB,EAAQ,CACV,IAAIS,EAAiB5G,EAAM4G,eAC3B,OAAOzE,EAAE,OAAM,CACb,MAAStC,EAAI,cACb,MAAS,CACP,KAAQ+G,EAAiB,SAAWA,EAAiB,YAM7D,SAASrF,EAAQC,GACf,eAAKwF,EAAK,QAASxF,GACnB,eAAgBwF,GAGlB,IAAIF,EAAoD,OAAvCG,EAAmBjH,EAAM8G,WAAqBG,EAAmBd,EAC9EyB,EAAU,CACZd,UAAWA,EACXZ,OAAQlG,EAAMkG,OACdE,SAAUpG,EAAMoG,SAChByB,YAAa7H,EAAM6G,QAOrB,OAJIZ,IACF2B,EAAQ3B,GAAQA,GAGX9D,EAAE,MAAO,IAAe,CAAC,CAC9B,MAAStC,EAAI+H,GACb,MAAS,CACP,KAAQd,EAAY,SAAW,KAC/B,SAAYA,EAAY,EAAI,MAE9B,GAAM,CACJ,MAASvF,IAEV,eAAQyF,KAAQ,CAACS,IAAYJ,IAASC,IAASI,IAA4B,MAAfpF,EAAMwF,WAAgB,EAASxF,EAAMwF,UAGtGf,EAAK/G,MAAQ,eAAS,GAAIgG,EAAW,QACtB,MAAAhD,EAAA,GC1GX,EAAmB,OAAAD,EAAA,MAAgB,SACnC,EAAkB,EAAiB,GACnC,EAAM,EAAiB,GAEZ,SAAgB,CAC7BgF,cAAc,EACdC,QAAS,WACP,MAAO,CACL9I,SAAUI,OAGdL,OAAQ,CACNgJ,QAAS,CACP9I,QAAS,OAGba,MAAO,eAAS,GAAIgG,EAAW,CAC7B/F,KAAMK,OACN4H,MAAOC,MACPjI,SAAU,CACRS,KAAMR,QACNhB,QAAS,MAEXiJ,SAAU,CACRzH,KAAMR,QACNhB,QAAS,MAEXkJ,SAAU,CAAClI,QAASyE,QACpB0D,SAAUhI,OACViI,UAAWjI,OACXkI,UAAWrI,QACXsI,UAAWC,SACXC,UAAW,CAACtI,OAAQC,QACpBsI,WAAY,CAACvI,OAAQC,QACrBmG,WAAY,KACZoC,WAAYvI,OACZwI,WAAYxI,OACZyI,YAAazI,OACb0I,aAAc1I,OACd2I,kBAAmB3I,OACnB4I,cAAe/I,QACfnC,MAAO,CACL2C,KAAM,CAACN,OAAQC,QACfnB,QAAS,IAEXwB,KAAM,CACJA,KAAML,OACNnB,QAAS,QAEXgK,MAAO,CACLxI,KAAMR,QACNhB,QAAS,MAEXiK,MAAO,CACLzI,KAAMR,QACNhB,QAAS,MAEXkK,aAAc,CACZ1I,KAAML,OACNnB,QAAS,SAEXmK,cAAe,CACb3I,KAAML,OACNnB,QAAS,cAGboK,KAAM,WACJ,MAAO,CACLC,SAAS,EACTC,gBAAgB,EAChBC,gBAAiB,KAGrBtK,MAAO,CACLpB,MAAO,WACLsB,KAAKqK,YAAYrK,KAAKtB,OACtBsB,KAAKC,kBACLD,KAAKE,oBAAoB,YACzBF,KAAKsK,UAAUtK,KAAKuK,cAGxBC,QAAS,WACPxK,KAAKqK,YAAYrK,KAAKtB,MAAOsB,KAAKgK,eAClChK,KAAKsK,UAAUtK,KAAKuK,YAEhBvK,KAAK2I,SACP3I,KAAK2I,QAAQ8B,SAASzK,OAG1B0K,cAAe,WACT1K,KAAK2I,SACP3I,KAAK2I,QAAQgC,YAAY3K,OAG7BuB,SAAU,CACRqJ,UAAW,WACT,IAAI9B,EAAW9I,KAAK6K,QAAQ,YAE5B,GAAI7K,KAAKkJ,YAAcJ,EAAU,CAC/B,IAAIgC,EAAW,eAAM9K,KAAKtB,QAAyB,KAAfsB,KAAKtB,MACrCqM,EAAgC,WAAtB/K,KAAK+J,cAAmD,UAAtB/J,KAAK+J,cAA4B/J,KAAKkK,QACtF,OAAOY,GAAYC,IAGvBC,UAAW,WACT,OAAmB,OAAfhL,KAAK6J,MACA7J,KAAK6J,SAGV7J,KAAK2I,SAAW3I,KAAK2I,QAAQqC,WAAahL,KAAKmK,sBAAnD,GAIFc,UAAW,WACT,OAAO,eAAS,GAAIjL,KAAKkL,WAAY,CACnCC,KAAMnL,KAAKoL,OACXC,MAAOrL,KAAKsL,QACZC,MAAOvL,KAAKwL,QACZC,MAAOzL,KAAK0L,aACZC,SAAU3L,KAAK4L,cAGnBC,WAAY,WACV,IAAIvC,EAAatJ,KAAK6K,QAAQ,cAE9B,GAAIvB,EACF,MAAO,CACLwC,MAAO,eAAQxC,KAIrByC,UAAW,WACT,OAAI/L,KAAKI,WAAaJ,KAAKgM,aAAaT,OAASvL,KAAKiM,OAAOV,OACpDvL,KAAKI,SAAS1B,MAGhBsB,KAAKtB,QAGhBsD,QAAS,CAEPqJ,MAAO,WACDrL,KAAKsC,MAAMiJ,OACbvL,KAAKsC,MAAMiJ,MAAMF,SAIrBF,KAAM,WACAnL,KAAKsC,MAAMiJ,OACbvL,KAAKsC,MAAMiJ,MAAMJ,QAGrBe,aAAc,SAAsBxN,EAAOyN,GACzC,OAAO,IAAIC,SAAQ,SAAUC,GAC3B,IAAIC,EAAYH,EAAKI,UAAU7N,EAAOyN,GAEtC,GAAI,eAAUG,GACZ,OAAOA,EAAUE,KAAKH,GAGxBA,EAAQC,OAGZG,aAAc,SAAsB/N,GAClC,OAAImK,MAAM6D,QAAQhO,IACRA,EAAMG,OAGF,IAAVH,IAIIA,GAEViO,YAAa,SAAqBjO,EAAOyN,GACvC,QAAIA,EAAKrF,WAAY9G,KAAKyM,aAAa/N,OAInCyN,EAAKS,UAAYT,EAAKS,QAAQlH,KAAKhH,KAMzCmO,eAAgB,SAAwBnO,EAAOyN,GAC7C,IAAI5H,EAAU4H,EAAK5H,QAEnB,OAAI,eAAWA,GACNA,EAAQ7F,EAAOyN,GAGjB5H,GAETuI,SAAU,SAAkBlE,GAC1B,IAAIzG,EAAQnC,KAEZ,OAAO4I,EAAMmE,QAAO,SAAUjI,EAASqH,GACrC,OAAOrH,EAAQ0H,MAAK,WAClB,IAAIrK,EAAMgI,eAAV,CAIA,IAAIzL,EAAQyD,EAAM4J,UAMlB,OAJII,EAAKhD,YACPzK,EAAQyN,EAAKhD,UAAUzK,EAAOyN,IAG3BhK,EAAMwK,YAAYjO,EAAOyN,GAM1BA,EAAKI,UACApK,EAAM+J,aAAaxN,EAAOyN,GAAMK,MAAK,SAAUQ,IACrC,IAAXA,IACF7K,EAAMgI,gBAAiB,EACvBhI,EAAMiI,gBAAkBjI,EAAM0K,eAAenO,EAAOyN,YAJ1D,GALEhK,EAAMgI,gBAAiB,OACvBhI,EAAMiI,gBAAkBjI,EAAM0K,eAAenO,EAAOyN,WAavDC,QAAQC,YAEbY,SAAU,SAAkBrE,GAC1B,IAAIsE,EAASlN,KAMb,YAJc,IAAV4I,IACFA,EAAQ5I,KAAK4I,OAGR,IAAIwD,SAAQ,SAAUC,GACtBzD,GACHyD,IAGFa,EAAOjN,kBAEPiN,EAAOJ,SAASlE,GAAO4D,MAAK,WACtBU,EAAO/C,eACTkC,EAAQ,CACN1L,KAAMuM,EAAOvM,KACb4D,QAAS2I,EAAO9C,kBAGlBiC,WAKRnM,oBAAqB,SAA6B6K,GAChD,GAAI/K,KAAK2I,SAAW3I,KAAK4I,MAAO,CAC9B,IAAIuE,EAAiBnN,KAAK2I,QAAQyE,kBAAoBrC,EAClDnC,EAAQ5I,KAAK4I,MAAMyE,QAAO,SAAUlB,GACtC,OAAIA,EAAKpB,QACAoB,EAAKpB,UAAYA,EAGnBoC,KAGLvE,EAAM/J,QACRmB,KAAKiN,SAASrE,KAIpB3I,gBAAiB,WACXD,KAAKmK,iBACPnK,KAAKmK,gBAAiB,EACtBnK,KAAKoK,gBAAkB,KAG3BC,YAAa,SAAqB3L,EAAOqM,QACvB,IAAZA,IACFA,EAAU,YAGZrM,EAAQ,eAAMA,GAASsC,OAAOtC,GAAS,GAGvC,IAAI2K,EAAYrJ,KAAKqJ,UAUrB,GARI,eAAMA,IAAc3K,EAAMG,OAASwK,IAEnC3K,EADEsB,KAAKtB,OAASsB,KAAKtB,MAAMG,UAAYwK,EAC/BrJ,KAAKtB,MAELA,EAAMwF,MAAM,EAAGmF,IAIT,WAAdrJ,KAAKqB,MAAmC,UAAdrB,KAAKqB,KAAkB,CACnD,IAAIiM,EAAyB,WAAdtN,KAAKqB,KACpB3C,EAAQ4H,EAAa5H,EAAO4O,EAAUA,GAGpCtN,KAAKmJ,WAAa4B,IAAY/K,KAAKgK,gBACrCtL,EAAQsB,KAAKmJ,UAAUzK,IAGzB,IAAI6M,EAAQvL,KAAKsC,MAAMiJ,MAEnBA,GAAS7M,IAAU6M,EAAM7M,QAC3B6M,EAAM7M,MAAQA,GAGZA,IAAUsB,KAAKtB,OACjBsB,KAAKyC,MAAM,QAAS/D,IAGxB8M,QAAS,SAAiBtJ,GAEpBA,EAAME,OAAOmL,WAIjBvN,KAAKqK,YAAYnI,EAAME,OAAO1D,QAEhC4M,QAAS,SAAiBpJ,GACxBlC,KAAKkK,SAAU,EACflK,KAAKyC,MAAM,QAASP,GAEpBlC,KAAKsK,UAAUtK,KAAKuK,YAIhBvK,KAAK6K,QAAQ,aACf7K,KAAKmL,QAGTC,OAAQ,SAAgBlJ,GAClBlC,KAAK6K,QAAQ,cAIjB7K,KAAKkK,SAAU,EACflK,KAAKqK,YAAYrK,KAAKtB,MAAO,UAC7BsB,KAAKyC,MAAM,OAAQP,GACnBlC,KAAKE,oBAAoB,UACzBF,KAAKsK,UAAUtK,KAAKuK,YACpBvE,MAEF/D,QAAS,SAAiBC,GACxBlC,KAAKyC,MAAM,QAASP,IAEtBwJ,aAAc,SAAsBxJ,GAClClC,KAAKyC,MAAM,cAAeP,IAE5BsL,gBAAiB,SAAyBtL,GACxClC,KAAKyC,MAAM,kBAAmBP,IAEhCuL,iBAAkB,SAA0BvL,GAC1ClC,KAAKyC,MAAM,mBAAoBP,IAEjCwL,QAAS,SAAiBxL,GACxB,eAAeA,GACflC,KAAKyC,MAAM,QAAS,IACpBzC,KAAKyC,MAAM,QAASP,IAEtB0J,WAAY,SAAoB1J,GAC9B,IAAIyL,EAAa,GAEjB,GAAIzL,EAAM0L,UAAYD,EAAY,CAChC,IAAIE,EAAgB7N,KAAK6K,QAAQ,iBAE5BgD,GAA+B,aAAd7N,KAAKqB,MACzB,eAAea,GAIC,WAAdlC,KAAKqB,MACPrB,KAAKmL,OAITnL,KAAKyC,MAAM,WAAYP,IAEzBqI,WAAY,WACV,IAAIgB,EAAQvL,KAAKsC,MAAMiJ,MAEvB,GAAoB,aAAdvL,KAAKqB,MAAuBrB,KAAK+I,UAAcwC,EAArD,CAIA,IAAIuC,EAAY,iBAChBvC,EAAMwC,MAAMC,OAAS,OACrB,IAAIA,EAASzC,EAAM0C,aAEnB,GAAI,eAASjO,KAAK+I,UAAW,CAC3B,IAAImF,EAAiBlO,KAAK+I,SACtBoF,EAAYD,EAAeC,UAC3BC,EAAYF,EAAeE,UAE3BD,IACFH,EAASK,KAAKC,IAAIN,EAAQG,IAGxBC,IACFJ,EAASK,KAAKlK,IAAI6J,EAAQI,IAI1BJ,IACFzC,EAAMwC,MAAMC,OAASA,EAAS,KAE9B,eAAiBF,MAGrBS,SAAU,WACR,IAAI1L,EAAI7C,KAAK8C,eACTzB,EAAOrB,KAAKqB,KACZT,EAAWZ,KAAK6K,QAAQ,YACxB/B,EAAW9I,KAAK6K,QAAQ,YACxB2D,EAAYxO,KAAKgD,MAAM,SACvBwG,EAAaxJ,KAAK6K,QAAQ,cAE9B,GAAI2D,EACF,OAAO3L,EAAE,MAAO,CACd,MAAS,EAAI,UAAW,CAAC2G,EAAY,WACrC,GAAM,CACJ,MAASxJ,KAAK0L,eAEf,CAAC8C,IAGN,IAAIC,EAAa,CACfC,IAAK,QACLC,MAAO,EAAI,UAAWnF,GACtBoF,SAAU,CACRlQ,MAAOsB,KAAKtB,OAEdmQ,MAAO,eAAS,GAAI7O,KAAK8O,OAAQ,CAC/BnO,KAAMX,KAAKW,KACXC,SAAUA,EACVkI,SAAUA,EACVW,YAAazJ,KAAKyJ,cAEpBsF,GAAI/O,KAAKiL,UAET+D,WAAY,CAAC,CACXrO,KAAM,QACNjC,MAAOsB,KAAKtB,SAIhB,GAAa,aAAT2C,EACF,OAAOwB,EAAE,WAAY,IAAe,CAAC,GAAI4L,KAG3C,IACIQ,EADAC,EAAY7N,EAchB,MAVa,WAATA,IACF6N,EAAY,OACZD,EAAY,WAGD,UAAT5N,IACF6N,EAAY,MACZD,EAAY,WAGPpM,EAAE,QAAS,IAAgB,CAAC,CACjC,MAAS,CACP,KAAQqM,EACR,UAAaD,IAEdR,MAELU,YAAa,WACX,IAAItM,EAAI7C,KAAK8C,eACTsM,EAAepP,KAAKgD,MAAM,cAAgBhD,KAAKgJ,SAEnD,GAAIoG,EACF,OAAOvM,EAAE,MAAO,CACd,MAAS,EAAI,aACb,GAAM,CACJ,MAAS7C,KAAKwN,kBAEf,CAACxN,KAAKgD,MAAM,cAAgBH,EAAE,OAAM,CACrC,MAAS,CACP,KAAQ7C,KAAKgJ,SACb,YAAehJ,KAAK+G,iBAK5BsI,aAAc,WACZ,IAAIxM,EAAI7C,KAAK8C,eACTE,EAAQhD,KAAKgD,MACbsM,EAAgBtM,EAAM,eAAiBhD,KAAKiJ,UAEhD,GAAIqG,EACF,OAAOzM,EAAE,MAAO,CACd,MAAS,EAAI,cACb,GAAM,CACJ,MAAS7C,KAAKyN,mBAEf,CAACzK,EAAM,eAAiBH,EAAE,OAAM,CACjC,MAAS,CACP,KAAQ7C,KAAKiJ,UACb,YAAejJ,KAAK+G,iBAK5BwI,aAAc,WACZ,IAAI1M,EAAI7C,KAAK8C,eAEb,GAAI9C,KAAK4J,eAAiB5J,KAAKqJ,UAAW,CACxC,IAAImG,GAASxP,KAAKtB,OAAS,IAAIG,OAC/B,OAAOgE,EAAE,MAAO,CACd,MAAS,EAAI,eACZ,CAACA,EAAE,OAAQ,CACZ,MAAS,EAAI,aACZ,CAAC2M,IAAS,IAAKxP,KAAKqJ,cAG3BoG,WAAY,WACV,IAAI5M,EAAI7C,KAAK8C,eAEb,IAAI9C,KAAK2I,UAA6C,IAAlC3I,KAAK2I,QAAQ+G,iBAAjC,CAIA,IAAInL,EAAUvE,KAAK0J,cAAgB1J,KAAKoK,gBAExC,GAAI7F,EAAS,CACX,IAAIoF,EAAoB3J,KAAK6K,QAAQ,qBACrC,OAAOhI,EAAE,MAAO,CACd,MAAS,EAAI,gBAAiB8G,IAC7B,CAACpF,OAGRsG,QAAS,SAAiB7L,GACxB,OAAI,eAAMgB,KAAKhB,IACNgB,KAAKhB,GAGVgB,KAAK2I,SAAW,eAAM3I,KAAK2I,QAAQ3J,IAC9BgB,KAAK2I,QAAQ3J,QADtB,GAIFiE,SAAU,WACR,IAAIJ,EAAI7C,KAAK8C,eACTgH,EAAQ9J,KAAK6K,QAAQ,SAAW,IAAM,GAE1C,OAAI7K,KAAKgD,MAAM,SACN,CAAChD,KAAKgD,MAAM,SAAU8G,GAG3B9J,KAAKqH,MACAxE,EAAE,OAAQ,CAAC7C,KAAKqH,MAAQyC,SADjC,IAKJ3G,OAAQ,WACN,IAAIwM,EAEA9M,EAAIO,UAAU,GACdJ,EAAQhD,KAAKgD,MACbpC,EAAWZ,KAAK6K,QAAQ,YACxBtB,EAAavJ,KAAK6K,QAAQ,cAC1B+E,EAAc,CAChBvN,KAAMrC,KAAKmP,aAETtH,EAAQ7H,KAAKiD,WAEb4E,IACF+H,EAAYxI,MAAQ,WAClB,OAAOS,IAIX,IAAIW,EAAQxI,KAAKgD,MAAM,SAQvB,OANIwF,IACFoH,EAAYpH,MAAQ,WAClB,OAAOA,IAIJ3F,EAAE,EAAM,CACb,MAAS,CACP,KAAQ7C,KAAKgJ,SACb,KAAQhJ,KAAK2G,KACb,OAAU3G,KAAK4G,OACf,OAAU5G,KAAKuH,OACf,OAAUvH,KAAK6G,OACf,SAAY7G,KAAK8G,SACjB,UAAa9G,KAAKwH,UAClB,WAAcxH,KAAK6L,WACnB,WAAc,EAAI,SAClB,WAAc,CAAC,EAAI,QAAStC,GAAavJ,KAAKmH,YAC9C,eAAkBnH,KAAKsH,gBAEzB,YAAesI,EACf,MAAS,GAAKD,EAAO,CACnB9F,MAAO7J,KAAKgL,UACZpK,SAAUA,GACT+O,EAAK,SAAWpG,GAAcA,EAAYoG,EAAK,cAA8B,aAAd3P,KAAKqB,OAAwBrB,KAAK+I,SAAU4G,IAC9G,GAAM,CACJ,MAAS3P,KAAKiC,UAEf,CAACY,EAAE,MAAO,CACX,MAAS,EAAI,SACZ,CAAC7C,KAAKuO,WAAYvO,KAAK4K,WAAa/H,EAAE,OAAM,CAC7C,MAAS,CACP,KAAQ,SAEV,MAAS,EAAI,SACb,GAAM,CACJ,WAAc7C,KAAK0N,WAEnB1N,KAAKqP,eAAgBrM,EAAM,WAAaH,EAAE,MAAO,CACnD,MAAS,EAAI,WACZ,CAACG,EAAM,cAAehD,KAAKuP,eAAgBvP,KAAKyP,mB,oCCxnBvD,W,uBCAA,IAAII,EAAa,EAAQ,QACrBC,EAAe,EAAQ,QACvBC,EAAe,EAAQ,QAGvBC,EAAY,kBAGZC,EAAY7G,SAAS8G,UACrBC,EAAc7K,OAAO4K,UAGrBE,EAAeH,EAAUI,SAGzBC,EAAiBH,EAAYG,eAG7BC,EAAmBH,EAAaI,KAAKlL,QA8BzC,SAASmL,EAAc/R,GACrB,IAAKqR,EAAarR,IAAUmR,EAAWnR,IAAUsR,EAC/C,OAAO,EAET,IAAIU,EAAQZ,EAAapR,GACzB,GAAc,OAAVgS,EACF,OAAO,EAET,IAAIC,EAAOL,EAAeE,KAAKE,EAAO,gBAAkBA,EAAME,YAC9D,MAAsB,mBAARD,GAAsBA,aAAgBA,GAClDP,EAAaI,KAAKG,IAASJ,EAG/BnR,EAAOC,QAAUoR,G,oCC7DjB,4BAGIjN,EAAmB,eAAgB,QACnCE,EAAkBF,EAAiB,GACnCjD,EAAMiD,EAAiB,GAEZ,OAAAE,EAAA,CACbhD,MAAO,CACLoJ,MAAOjJ,QACPD,SAAUC,QACViI,SAAUjI,QACVyI,WAAY,CAACvI,OAAQC,QACrBuI,WAAYvI,OACZwI,WAAYxI,OACZ6P,cAAehQ,QACfiQ,cAAejQ,QACf8I,kBAAmB3I,OACnB6M,cAAe,CACbxM,KAAMR,QACNhB,SAAS,GAEXuN,gBAAiB,CACf/L,KAAML,OACNnB,QAAS,UAEXmL,UAAW,CACT3J,KAAMR,QACNhB,SAAS,GAEX6P,iBAAkB,CAChBrO,KAAMR,QACNhB,SAAS,IAGb6I,QAAS,WACP,MAAO,CACLC,QAAS3I,OAGbiK,KAAM,WACJ,MAAO,CACL8G,OAAQ,KAGZ/O,QAAS,CACPgP,iBAAkB,SAA0BC,GAC1C,OAAIA,EACKjR,KAAK+Q,OAAO1D,QAAO,SAAUtN,GAClC,OAAsC,IAA/BkR,EAAMrN,QAAQ7D,EAAMY,SAIxBX,KAAK+Q,QAEdG,YAAa,SAAqBD,GAChC,IAAI9O,EAAQnC,KAEZ,OAAO,IAAIoM,SAAQ,SAAUC,EAAS8E,GACpC,IAAIC,EAAS,GAETL,EAAS5O,EAAM6O,iBAAiBC,GAEpCF,EAAOhE,QAAO,SAAUjI,EAAS/E,GAC/B,OAAO+E,EAAQ0H,MAAK,WAClB,IAAK4E,EAAOvS,OACV,OAAOkB,EAAMkN,WAAWT,MAAK,SAAU3C,GACjCA,GACFuH,EAAO7N,KAAKsG,WAKnBuC,QAAQC,WAAWG,MAAK,WACrB4E,EAAOvS,OACTsS,EAAOC,GAEP/E,WAKRgF,eAAgB,SAAwBJ,GACtC,IAAI/D,EAASlN,KAEb,OAAO,IAAIoM,SAAQ,SAAUC,EAAS8E,GACpC,IAAIJ,EAAS7D,EAAO8D,iBAAiBC,GAErC7E,QAAQkF,IAAIP,EAAOQ,KAAI,SAAUC,GAC/B,OAAOA,EAAKvE,eACVT,MAAK,SAAU4E,GACjBA,EAASA,EAAO/D,QAAO,SAAUmE,GAC/B,OAAOA,KAGLJ,EAAOvS,OACTsS,EAAOC,GAEP/E,WAMRY,SAAU,SAAkBtM,GAC1B,OAAIA,IAASkI,MAAM6D,QAAQ/L,GAClBX,KAAKyR,cAAc9Q,GAGrBX,KAAK8Q,cAAgB9Q,KAAKkR,YAAYvQ,GAAQX,KAAKqR,eAAe1Q,IAE3E8Q,cAAe,SAAuB9Q,GACpC,IAAI+Q,EAAU1R,KAAK+Q,OAAO1D,QAAO,SAAUmE,GACzC,OAAOA,EAAK7Q,OAASA,KAGvB,OAAI+Q,EAAQ7S,OACH,IAAIuN,SAAQ,SAAUC,EAAS8E,GACpCO,EAAQ,GAAGzE,WAAWT,MAAK,SAAU3C,GAC/BA,EACFsH,EAAOtH,GAEPwC,UAMDD,QAAQ+E,UAGjBlR,gBAAiB,SAAyBU,GACpCA,IAASkI,MAAM6D,QAAQ/L,KACzBA,EAAO,CAACA,IAGV,IAAIoQ,EAAS/Q,KAAKgR,iBAAiBrQ,GACnCoQ,EAAOY,SAAQ,SAAUH,GACvBA,EAAKvR,sBAIT2R,cAAe,SAAuBjR,EAAMkR,GAC1C7R,KAAK+Q,OAAOe,MAAK,SAAUN,GACzB,OAAIA,EAAK7Q,OAASA,IAChB6Q,EAAKO,IAAIC,eAAeH,IACjB,OAMbpH,SAAU,SAAkB1K,GAC1BC,KAAK+Q,OAAOxN,KAAKxD,GACjB,eAAaC,KAAK+Q,OAAQ/Q,OAE5B2K,YAAa,SAAqB5K,GAChCC,KAAK+Q,OAAS/Q,KAAK+Q,OAAO1D,QAAO,SAAUmE,GACzC,OAAOA,IAASzR,MAGpBkS,UAAW,WACT,OAAOjS,KAAK+Q,OAAOhE,QAAO,SAAUmF,EAAMnS,GAExC,OADAmS,EAAKnS,EAAMY,MAAQZ,EAAMgM,UAClBmG,IACN,KAELC,SAAU,SAAkBjQ,GAC1BA,EAAMkQ,iBACNpS,KAAKqS,UAGPA,OAAQ,WACN,IAAIC,EAAStS,KAETuS,EAASvS,KAAKiS,YAClBjS,KAAKiN,WAAWT,MAAK,WACnB8F,EAAO7P,MAAM,SAAU8P,MACtBxN,OAAM,SAAUqM,GACjBkB,EAAO7P,MAAM,SAAU,CACrB8P,OAAQA,EACRnB,OAAQA,IAGNkB,EAAOzB,eACTyB,EAAOV,cAAcR,EAAO,GAAGzQ,WAKvCwC,OAAQ,WACN,IAAIN,EAAIO,UAAU,GAClB,OAAOP,EAAE,OAAQ,CACf,MAAStC,IACT,GAAM,CACJ,OAAUP,KAAKmS,WAEhB,CAACnS,KAAKgD,c,uBCrMb,IAAIwP,EAAW,EAAQ,QACnBC,EAAe,EAAQ,QACvBC,EAAa,EAAQ,QACrBC,EAAe,EAAQ,QAoB3B,SAASC,EAAOpU,EAAQqU,GACtB,GAAc,MAAVrU,EACF,MAAO,GAET,IAAIkC,EAAQ8R,EAASG,EAAanU,IAAS,SAASsU,GAClD,MAAO,CAACA,MAGV,OADAD,EAAYJ,EAAaI,GAClBH,EAAWlU,EAAQkC,GAAO,SAAShC,EAAOD,GAC/C,OAAOoU,EAAUnU,EAAOD,EAAK,OAIjCW,EAAOC,QAAUuT,G,oeCrBV,SAAeG,EAASC,GAAA,OAAAC,EAAAC,MAAC,KAAD9P,WAI/B,SAAA6P,IAFC,OAEDA,EAAAE,eAAAC,iBAAAC,MAJO,SAAAC,EAAyBzB,GAAO,OAAAuB,iBAAAG,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAG,OAAA,SAC5BC,OAAKC,KAAK,mBAAoBhC,IAAQ,wBAAA2B,EAAAM,UAAAR,OAChDL,EAAAC,MAAA,KAAA9P,WAOM,SAAS2Q,EAASC,GACrB,OAAOJ,OAAKC,KAAK,uBAAwBG,GAQtC,SAASC,EAAiBD,GAC7B,OAAOJ,OAAKC,KAAK,+BAAgCG,GAO9C,SAASE,EAAaF,GACzB,OAAOJ,OAAKC,KAAK,yBAA0BG,GAOxC,SAASG,EAAYH,GACxB,OAAOJ,OAAKC,KAAK,oBAAqBG,GAOnC,SAASI,EAAcJ,GAC1B,OAAOJ,OAAKC,KAAK,4BAA6BG,GAO3C,SAASK,EAASL,GACrB,OAAOJ,OAAKC,KAAK,uBAAwBG,GAOtC,SAASM,EAAcN,GAC1B,OAAOJ,OAAKC,KAAK,4BAA6BG,GAO3C,SAASO,IAEZ,OAAOX,OAAKC,KAAK,uBAAmB1U,EAAW,CAC3CqV,QAAS,OAAO9O,KAAK+O,OAAOzP,SAAS0P,MAC/B,0CACA,sDAQP,SAASC,EAAaC,EAAWC,GACpC,OAAOjB,OAAKC,KACR,4BACA,CAAEe,aAAWE,eAAA,CAETC,eAAe,GACZF,IAQR,SAASG,IACZ,OAAOpB,OAAKC,KAAK,2BAAuB1U,EAAW,CAAE4V,eAAe,M,4EC7GxE;;;;;;;;;IASA,WACE,aAEA,IAAIE,MAAQ,wBACRC,OAA2B,kBAAXT,OAChBlV,KAAO2V,OAAST,OAAS,GACzBlV,KAAK4V,mBACPD,QAAS,GAEX,IAAIE,YAAcF,QAA0B,kBAATG,KAC/BC,SAAW/V,KAAKgW,mBAAwC,kBAAZC,SAAwBA,QAAQC,UAAYD,QAAQC,SAASC,KACzGJ,QACF/V,KAAOoW,OACEP,aACT7V,KAAO8V,MAET,IAAIO,WAAarW,KAAKsW,qBAAyC,kBAAXzW,QAAuBA,OAAOC,QAC9EyW,IAAsC,4BACtCC,cAAgBxW,KAAKyW,wBAAiD,qBAAhBC,YACtDC,UAAY,mBAAmBzP,MAAM,IACrC0P,MAAQ,CAAC,IAAK,MAAO,SAAU,YAC/BC,MAAQ,CAAC,EAAG,EAAG,GAAI,IACnBC,aAAe,CAAC,MAAO,QAAS,SAAU,SAAU,cAAe,UACnEC,mBAAqB,mEAAmE7P,MAAM,IAE9F8P,OAAS,GAAIC,QACjB,GAAIT,aAAc,CAChB,IAAIU,OAAS,IAAIR,YAAY,IAC7BO,QAAU,IAAIE,WAAWD,QACzBF,OAAS,IAAII,YAAYF,SAGvBlX,KAAKgW,mBAAsB1M,MAAM6D,UACnC7D,MAAM6D,QAAU,SAAUkK,GACxB,MAA+C,mBAAxCtR,OAAO4K,UAAUG,SAASG,KAAKoG,MAItCb,eAAiBxW,KAAKsX,gCAAmCZ,YAAYa,SACvEb,YAAYa,OAAS,SAAUF,GAC7B,MAAsB,kBAARA,GAAoBA,EAAIH,QAAUG,EAAIH,OAAO7F,cAAgBqF,cA6D/E,IAAIc,mBAAqB,SAAUC,GACjC,OAAO,SAAUzS,GACf,OAAO,IAAI0S,KAAI,GAAMC,OAAO3S,GAASyS,OAwBrCG,aAAe,WACjB,IAAIC,EAASL,mBAAmB,OAC5BzB,UACF8B,EAASC,SAASD,IAEpBA,EAAO3T,OAAS,WACd,OAAO,IAAIwT,KAEbG,EAAOF,OAAS,SAAU3S,GACxB,OAAO6S,EAAO3T,SAASyT,OAAO3S,IAEhC,IAAK,IAAI+S,EAAI,EAAGA,EAAIjB,aAAaxX,SAAUyY,EAAG,CAC5C,IAAIjW,EAAOgV,aAAaiB,GACxBF,EAAO/V,GAAQ0V,mBAAmB1V,GAEpC,OAAO+V,GAGLC,SAAW,SAAUD,QACvB,IAAIG,OAASC,KAAK,qBACdC,OAASD,KAAK,4BACdE,WAAa,SAAUnT,GACzB,GAAuB,kBAAZA,EACT,OAAOgT,OAAOI,WAAW,OAAOT,OAAO3S,EAAS,QAAQqT,OAAO,OAE/D,GAAgB,OAAZrT,QAAgCpF,IAAZoF,EACtB,MAAM0Q,MAKV,OAJa1Q,EAAQqM,cAAgBqF,cACjC1R,EAAU,IAAImS,WAAWnS,IAGzBsE,MAAM6D,QAAQnI,IAAY0R,YAAYa,OAAOvS,IAC/CA,EAAQqM,cAAgB6G,OACjBF,OAAOI,WAAW,OAAOT,OAAO,IAAIO,OAAOlT,IAAUqT,OAAO,OAE5DR,OAAO7S,IAGlB,OAAOmT,YAST,SAAST,IAAIY,GACX,GAAIA,EACFtB,OAAO,GAAKA,OAAO,IAAMA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GACxDA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GAAKA,OAAO,GAC3CA,OAAO,GAAKA,OAAO,GAAKA,OAAO,IAAMA,OAAO,IAC5CA,OAAO,IAAMA,OAAO,IAAMA,OAAO,IAAMA,OAAO,IAAM,EACpDvW,KAAKuW,OAASA,OACdvW,KAAKwW,QAAUA,aAEf,GAAIT,aAAc,CAChB,IAAIU,EAAS,IAAIR,YAAY,IAC7BjW,KAAKwW,QAAU,IAAIE,WAAWD,GAC9BzW,KAAKuW,OAAS,IAAII,YAAYF,QAE9BzW,KAAKuW,OAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAGnEvW,KAAK8X,GAAK9X,KAAK+X,GAAK/X,KAAKgY,GAAKhY,KAAKiY,GAAKjY,KAAKkY,MAAQlY,KAAKmY,MAAQnY,KAAKoY,OAAS,EAChFpY,KAAKqY,UAAYrY,KAAKsY,QAAS,EAC/BtY,KAAKuY,OAAQ,EAYftB,IAAI/G,UAAUgH,OAAS,SAAU3S,GAC/B,IAAIvE,KAAKqY,UAAT,CAIA,IAAIG,EAAWnX,SAAckD,EAC7B,GAAa,WAATlD,EAAmB,CACrB,GAAa,WAATA,EAWF,MAAM4T,MAVN,GAAgB,OAAZ1Q,EACF,MAAM0Q,MACD,GAAIc,cAAgBxR,EAAQqM,cAAgBqF,YACjD1R,EAAU,IAAImS,WAAWnS,QACpB,IAAKsE,MAAM6D,QAAQnI,MACnBwR,eAAiBE,YAAYa,OAAOvS,IACvC,MAAM0Q,MAMZuD,GAAY,EAEd,IAAIC,EAAiBnB,EAAX1Y,EAAQ,EAAMC,EAAS0F,EAAQ1F,OAAQ0X,EAASvW,KAAKuW,OAC3DC,EAAUxW,KAAKwW,QAEnB,MAAO5X,EAAQC,EAAQ,CAUrB,GATImB,KAAKsY,SACPtY,KAAKsY,QAAS,EACd/B,EAAO,GAAKA,EAAO,IACnBA,EAAO,IAAMA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC5CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAC5CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAGlDiC,EACF,GAAIzC,aACF,IAAKuB,EAAItX,KAAKkY,MAAOtZ,EAAQC,GAAUyY,EAAI,KAAM1Y,EAC/C4X,EAAQc,KAAO/S,EAAQ3F,QAGzB,IAAK0Y,EAAItX,KAAKkY,MAAOtZ,EAAQC,GAAUyY,EAAI,KAAM1Y,EAC/C2X,EAAOe,GAAK,IAAM/S,EAAQ3F,IAAUwX,MAAY,EAANkB,UAI9C,GAAIvB,aACF,IAAKuB,EAAItX,KAAKkY,MAAOtZ,EAAQC,GAAUyY,EAAI,KAAM1Y,EAC/C6Z,EAAOlU,EAAQmU,WAAW9Z,GACtB6Z,EAAO,IACTjC,EAAQc,KAAOmB,EACNA,EAAO,MAChBjC,EAAQc,KAAO,IAAQmB,GAAQ,EAC/BjC,EAAQc,KAAO,IAAe,GAAPmB,GACdA,EAAO,OAAUA,GAAQ,OAClCjC,EAAQc,KAAO,IAAQmB,GAAQ,GAC/BjC,EAAQc,KAAO,IAASmB,GAAQ,EAAK,GACrCjC,EAAQc,KAAO,IAAe,GAAPmB,IAEvBA,EAAO,QAAoB,KAAPA,IAAiB,GAAqC,KAA9BlU,EAAQmU,aAAa9Z,IACjE4X,EAAQc,KAAO,IAAQmB,GAAQ,GAC/BjC,EAAQc,KAAO,IAASmB,GAAQ,GAAM,GACtCjC,EAAQc,KAAO,IAASmB,GAAQ,EAAK,GACrCjC,EAAQc,KAAO,IAAe,GAAPmB,QAI3B,IAAKnB,EAAItX,KAAKkY,MAAOtZ,EAAQC,GAAUyY,EAAI,KAAM1Y,EAC/C6Z,EAAOlU,EAAQmU,WAAW9Z,GACtB6Z,EAAO,IACTlC,EAAOe,GAAK,IAAMmB,GAAQrC,MAAY,EAANkB,KACvBmB,EAAO,MAChBlC,EAAOe,GAAK,KAAO,IAAQmB,GAAQ,IAAOrC,MAAY,EAANkB,KAChDf,EAAOe,GAAK,KAAO,IAAe,GAAPmB,IAAiBrC,MAAY,EAANkB,MACzCmB,EAAO,OAAUA,GAAQ,OAClClC,EAAOe,GAAK,KAAO,IAAQmB,GAAQ,KAAQrC,MAAY,EAANkB,KACjDf,EAAOe,GAAK,KAAO,IAASmB,GAAQ,EAAK,KAAUrC,MAAY,EAANkB,KACzDf,EAAOe,GAAK,KAAO,IAAe,GAAPmB,IAAiBrC,MAAY,EAANkB,OAElDmB,EAAO,QAAoB,KAAPA,IAAiB,GAAqC,KAA9BlU,EAAQmU,aAAa9Z,IACjE2X,EAAOe,GAAK,KAAO,IAAQmB,GAAQ,KAAQrC,MAAY,EAANkB,KACjDf,EAAOe,GAAK,KAAO,IAASmB,GAAQ,GAAM,KAAUrC,MAAY,EAANkB,KAC1Df,EAAOe,GAAK,KAAO,IAASmB,GAAQ,EAAK,KAAUrC,MAAY,EAANkB,KACzDf,EAAOe,GAAK,KAAO,IAAe,GAAPmB,IAAiBrC,MAAY,EAANkB,MAK1DtX,KAAK2Y,cAAgBrB,EACrBtX,KAAKmY,OAASb,EAAItX,KAAKkY,MACnBZ,GAAK,IACPtX,KAAKkY,MAAQZ,EAAI,GACjBtX,KAAK4Y,OACL5Y,KAAKsY,QAAS,GAEdtY,KAAKkY,MAAQZ,EAOjB,OAJItX,KAAKmY,MAAQ,aACfnY,KAAKoY,QAAUpY,KAAKmY,MAAQ,YAAc,EAC1CnY,KAAKmY,MAAQnY,KAAKmY,MAAQ,YAErBnY,OAGTiX,IAAI/G,UAAU2I,SAAW,WACvB,IAAI7Y,KAAKqY,UAAT,CAGArY,KAAKqY,WAAY,EACjB,IAAI9B,EAASvW,KAAKuW,OAAQe,EAAItX,KAAK2Y,cACnCpC,EAAOe,GAAK,IAAMnB,MAAU,EAAJmB,GACpBA,GAAK,KACFtX,KAAKsY,QACRtY,KAAK4Y,OAEPrC,EAAO,GAAKA,EAAO,IACnBA,EAAO,IAAMA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC5CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAAKA,EAAO,GAC3CA,EAAO,GAAKA,EAAO,GAAKA,EAAO,IAAMA,EAAO,IAC5CA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAMA,EAAO,IAAM,GAEtDA,EAAO,IAAMvW,KAAKmY,OAAS,EAC3B5B,EAAO,IAAMvW,KAAKoY,QAAU,EAAIpY,KAAKmY,QAAU,GAC/CnY,KAAK4Y,SAGP3B,IAAI/G,UAAU0I,KAAO,WACnB,IAAIE,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAAI5C,EAASvW,KAAKuW,OAElCvW,KAAKuY,OACPO,EAAIvC,EAAO,GAAK,UAChBuC,GAAKA,GAAK,EAAIA,IAAM,IAAM,WAAa,EACvCG,IAAM,WAAiB,WAAJH,GAAkBvC,EAAO,GAAK,UACjD0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAM,UAAaC,IAAU,UAALH,IAAoBvC,EAAO,GAAK,WACxDyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,GAAKD,EAAKE,GAAKC,EAAIH,IAAOvC,EAAO,GAAK,WACtCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,IAEhCF,EAAI9Y,KAAK8X,GACTiB,EAAI/Y,KAAK+X,GACTiB,EAAIhZ,KAAKgY,GACTiB,EAAIjZ,KAAKiY,GACTa,IAAMG,EAAKF,GAAKC,EAAIC,IAAO1C,EAAO,GAAK,UACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMD,EAAKF,GAAKC,EAAIC,IAAOzC,EAAO,GAAK,UACvC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMD,EAAKE,GAAKH,EAAIC,IAAOxC,EAAO,GAAK,UACvCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMD,EAAKE,GAAKC,EAAIH,IAAOvC,EAAO,GAAK,WACvCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,GAGlCF,IAAMG,EAAKF,GAAKC,EAAIC,IAAO1C,EAAO,GAAK,UACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMD,EAAKF,GAAKC,EAAIC,IAAOzC,EAAO,GAAK,WACvC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMD,EAAKE,GAAKH,EAAIC,IAAOxC,EAAO,GAAK,WACvCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMD,EAAKE,GAAKC,EAAIH,IAAOvC,EAAO,GAAK,SACvCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMG,EAAKF,GAAKC,EAAIC,IAAO1C,EAAO,GAAK,WACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMD,EAAKF,GAAKC,EAAIC,IAAOzC,EAAO,GAAK,WACvC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMD,EAAKE,GAAKH,EAAIC,IAAOxC,EAAO,IAAM,MACxCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMD,EAAKE,GAAKC,EAAIH,IAAOvC,EAAO,IAAM,WACxCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMG,EAAKF,GAAKC,EAAIC,IAAO1C,EAAO,IAAM,WACxCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMD,EAAKF,GAAKC,EAAIC,IAAOzC,EAAO,IAAM,SACxC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMD,EAAKE,GAAKH,EAAIC,IAAOxC,EAAO,IAAM,WACxCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMD,EAAKE,GAAKC,EAAIH,IAAOvC,EAAO,IAAM,WACxCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKC,GAAKF,EAAIC,IAAOzC,EAAO,GAAK,UACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,EAAKC,GAAKF,EAAIC,IAAOxC,EAAO,GAAK,WACvC0C,GAAKA,GAAK,EAAIA,IAAM,IAAMH,GAAK,EAC/BE,IAAMF,EAAKC,GAAKE,EAAIH,IAAOvC,EAAO,IAAM,UACxCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKH,GAAKE,EAAIC,IAAO1C,EAAO,GAAK,UACvCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKC,GAAKF,EAAIC,IAAOzC,EAAO,GAAK,UACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,EAAKC,GAAKF,EAAIC,IAAOxC,EAAO,IAAM,SACxC0C,GAAKA,GAAK,EAAIA,IAAM,IAAMH,GAAK,EAC/BE,IAAMF,EAAKC,GAAKE,EAAIH,IAAOvC,EAAO,IAAM,UACxCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKH,GAAKE,EAAIC,IAAO1C,EAAO,GAAK,UACvCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKC,GAAKF,EAAIC,IAAOzC,EAAO,GAAK,UACvCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,EAAKC,GAAKF,EAAIC,IAAOxC,EAAO,IAAM,WACxC0C,GAAKA,GAAK,EAAIA,IAAM,IAAMH,GAAK,EAC/BE,IAAMF,EAAKC,GAAKE,EAAIH,IAAOvC,EAAO,GAAK,UACvCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKH,GAAKE,EAAIC,IAAO1C,EAAO,GAAK,WACvCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKC,GAAKF,EAAIC,IAAOzC,EAAO,IAAM,WACxCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,EAAKC,GAAKF,EAAIC,IAAOxC,EAAO,GAAK,SACvC0C,GAAKA,GAAK,EAAIA,IAAM,IAAMH,GAAK,EAC/BE,IAAMF,EAAKC,GAAKE,EAAIH,IAAOvC,EAAO,GAAK,WACvCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,EAAKH,GAAKE,EAAIC,IAAO1C,EAAO,IAAM,WACxCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCE,EAAKH,EAAIC,EACTF,IAAMI,EAAKD,GAAK1C,EAAO,GAAK,OAC5BuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMC,EAAKJ,GAAKvC,EAAO,GAAK,WAC5B0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCK,EAAKF,EAAIH,EACTE,IAAMG,EAAKJ,GAAKxC,EAAO,IAAM,WAC7ByC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMI,EAAKH,GAAKzC,EAAO,IAAM,SAC7BwC,GAAKA,GAAK,GAAKA,IAAM,GAAKC,GAAK,EAC/BE,EAAKH,EAAIC,EACTF,IAAMI,EAAKD,GAAK1C,EAAO,GAAK,WAC5BuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMC,EAAKJ,GAAKvC,EAAO,GAAK,WAC5B0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCK,EAAKF,EAAIH,EACTE,IAAMG,EAAKJ,GAAKxC,EAAO,GAAK,UAC5ByC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMI,EAAKH,GAAKzC,EAAO,IAAM,WAC7BwC,GAAKA,GAAK,GAAKA,IAAM,GAAKC,GAAK,EAC/BE,EAAKH,EAAIC,EACTF,IAAMI,EAAKD,GAAK1C,EAAO,IAAM,UAC7BuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMC,EAAKJ,GAAKvC,EAAO,GAAK,UAC5B0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCK,EAAKF,EAAIH,EACTE,IAAMG,EAAKJ,GAAKxC,EAAO,GAAK,UAC5ByC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMI,EAAKH,GAAKzC,EAAO,GAAK,SAC5BwC,GAAKA,GAAK,GAAKA,IAAM,GAAKC,GAAK,EAC/BE,EAAKH,EAAIC,EACTF,IAAMI,EAAKD,GAAK1C,EAAO,GAAK,UAC5BuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMC,EAAKJ,GAAKvC,EAAO,IAAM,UAC7B0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCK,EAAKF,EAAIH,EACTE,IAAMG,EAAKJ,GAAKxC,EAAO,IAAM,UAC7ByC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAMI,EAAKH,GAAKzC,EAAO,GAAK,UAC5BwC,GAAKA,GAAK,GAAKA,IAAM,GAAKC,GAAK,EAC/BF,IAAME,GAAKD,GAAKE,IAAM1C,EAAO,GAAK,UAClCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,GAAKD,GAAKE,IAAMzC,EAAO,GAAK,WAClC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMF,GAAKG,GAAKF,IAAMxC,EAAO,IAAM,WACnCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKF,IAAMvC,EAAO,GAAK,SAClCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKE,IAAM1C,EAAO,IAAM,WACnCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,GAAKD,GAAKE,IAAMzC,EAAO,GAAK,WAClC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMF,GAAKG,GAAKF,IAAMxC,EAAO,IAAM,QACnCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKF,IAAMvC,EAAO,GAAK,WAClCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKE,IAAM1C,EAAO,GAAK,WAClCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,GAAKD,GAAKE,IAAMzC,EAAO,IAAM,SACnC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMF,GAAKG,GAAKF,IAAMxC,EAAO,GAAK,WAClCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKF,IAAMvC,EAAO,IAAM,WACnCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKE,IAAM1C,EAAO,GAAK,UAClCuC,GAAKA,GAAK,EAAIA,IAAM,IAAMC,GAAK,EAC/BE,IAAMF,GAAKD,GAAKE,IAAMzC,EAAO,IAAM,WACnC0C,GAAKA,GAAK,GAAKA,IAAM,IAAMH,GAAK,EAChCE,IAAMF,GAAKG,GAAKF,IAAMxC,EAAO,GAAK,UAClCyC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAChCF,IAAME,GAAKD,GAAKF,IAAMvC,EAAO,GAAK,UAClCwC,GAAKA,GAAK,GAAKA,IAAM,IAAMC,GAAK,EAE5BhZ,KAAKuY,OACPvY,KAAK8X,GAAKgB,EAAI,YAAc,EAC5B9Y,KAAK+X,GAAKgB,EAAI,WAAa,EAC3B/Y,KAAKgY,GAAKgB,EAAI,YAAc,EAC5BhZ,KAAKiY,GAAKgB,EAAI,WAAa,EAC3BjZ,KAAKuY,OAAQ,IAEbvY,KAAK8X,GAAK9X,KAAK8X,GAAKgB,GAAK,EACzB9Y,KAAK+X,GAAK/X,KAAK+X,GAAKgB,GAAK,EACzB/Y,KAAKgY,GAAKhY,KAAKgY,GAAKgB,GAAK,EACzBhZ,KAAKiY,GAAKjY,KAAKiY,GAAKgB,GAAK,IAc7BhC,IAAI/G,UAAUkJ,IAAM,WAClBpZ,KAAK6Y,WAEL,IAAIf,EAAK9X,KAAK8X,GAAIC,EAAK/X,KAAK+X,GAAIC,EAAKhY,KAAKgY,GAAIC,EAAKjY,KAAKiY,GAExD,OAAO/B,UAAW4B,GAAM,EAAK,IAAQ5B,UAAe,GAAL4B,GAC7C5B,UAAW4B,GAAM,GAAM,IAAQ5B,UAAW4B,GAAM,EAAK,IACrD5B,UAAW4B,GAAM,GAAM,IAAQ5B,UAAW4B,GAAM,GAAM,IACtD5B,UAAW4B,GAAM,GAAM,IAAQ5B,UAAW4B,GAAM,GAAM,IACtD5B,UAAW6B,GAAM,EAAK,IAAQ7B,UAAe,GAAL6B,GACxC7B,UAAW6B,GAAM,GAAM,IAAQ7B,UAAW6B,GAAM,EAAK,IACrD7B,UAAW6B,GAAM,GAAM,IAAQ7B,UAAW6B,GAAM,GAAM,IACtD7B,UAAW6B,GAAM,GAAM,IAAQ7B,UAAW6B,GAAM,GAAM,IACtD7B,UAAW8B,GAAM,EAAK,IAAQ9B,UAAe,GAAL8B,GACxC9B,UAAW8B,GAAM,GAAM,IAAQ9B,UAAW8B,GAAM,EAAK,IACrD9B,UAAW8B,GAAM,GAAM,IAAQ9B,UAAW8B,GAAM,GAAM,IACtD9B,UAAW8B,GAAM,GAAM,IAAQ9B,UAAW8B,GAAM,GAAM,IACtD9B,UAAW+B,GAAM,EAAK,IAAQ/B,UAAe,GAAL+B,GACxC/B,UAAW+B,GAAM,GAAM,IAAQ/B,UAAW+B,GAAM,EAAK,IACrD/B,UAAW+B,GAAM,GAAM,IAAQ/B,UAAW+B,GAAM,GAAM,IACtD/B,UAAW+B,GAAM,GAAM,IAAQ/B,UAAW+B,GAAM,GAAM,KAa1DhB,IAAI/G,UAAUG,SAAW4G,IAAI/G,UAAUkJ,IAYvCnC,IAAI/G,UAAU0H,OAAS,WACrB5X,KAAK6Y,WAEL,IAAIf,EAAK9X,KAAK8X,GAAIC,EAAK/X,KAAK+X,GAAIC,EAAKhY,KAAKgY,GAAIC,EAAKjY,KAAKiY,GACxD,MAAO,CACA,IAALH,EAAYA,GAAM,EAAK,IAAOA,GAAM,GAAM,IAAOA,GAAM,GAAM,IACxD,IAALC,EAAYA,GAAM,EAAK,IAAOA,GAAM,GAAM,IAAOA,GAAM,GAAM,IACxD,IAALC,EAAYA,GAAM,EAAK,IAAOA,GAAM,GAAM,IAAOA,GAAM,GAAM,IACxD,IAALC,EAAYA,GAAM,EAAK,IAAOA,GAAM,GAAM,IAAOA,GAAM,GAAM,MAcjEhB,IAAI/G,UAAUmJ,MAAQpC,IAAI/G,UAAU0H,OAYpCX,IAAI/G,UAAUoJ,YAAc,WAC1BtZ,KAAK6Y,WAEL,IAAIpC,EAAS,IAAIR,YAAY,IACzBM,EAAS,IAAII,YAAYF,GAK7B,OAJAF,EAAO,GAAKvW,KAAK8X,GACjBvB,EAAO,GAAKvW,KAAK+X,GACjBxB,EAAO,GAAKvW,KAAKgY,GACjBzB,EAAO,GAAKvW,KAAKiY,GACVxB,GAcTQ,IAAI/G,UAAUuG,OAASQ,IAAI/G,UAAUoJ,YAYrCrC,IAAI/G,UAAUqJ,OAAS,WAErB,IADA,IAAIC,EAAIC,EAAIC,EAAIC,EAAY,GAAIxB,EAAQnY,KAAKqZ,QACpC/B,EAAI,EAAGA,EAAI,IAClBkC,EAAKrB,EAAMb,KACXmC,EAAKtB,EAAMb,KACXoC,EAAKvB,EAAMb,KACXqC,GAAarD,mBAAmBkD,IAAO,GACrClD,mBAA0C,IAAtBkD,GAAM,EAAIC,IAAO,IACrCnD,mBAA0C,IAAtBmD,GAAM,EAAIC,IAAO,IACrCpD,mBAAwB,GAALoD,GAMvB,OAJAF,EAAKrB,EAAMb,GACXqC,GAAarD,mBAAmBkD,IAAO,GACrClD,mBAAoBkD,GAAM,EAAK,IAC/B,KACKG,GAGT,IAAIta,QAAU8X,eAEVvB,UACFxW,OAAOC,QAAUA,SAmBjBE,KAAKqa,IAAMva,QACPyW,MACF,yCACE,OAAOzW,SACR,2IA9pBP,K,keCce,QACX4K,KAAI,WACA,MAAO,CACH4P,QAAS,mBACTC,WAAUC,2EAAA,GACLC,OAAUC,YAAc,IACxBD,OAAUE,UAAY,IACtBF,OAAUG,SAAW,IACrBH,OAAUI,cAAgB,IAC1BJ,OAAUK,cAAgB,IAE/BC,SAAU,GACVC,MAAO,KACPC,YAAaxa,KAAKya,GAAG,qBACrBC,iBAAiB,EACjBC,gBAAiB,KACjBC,eAAgB,GAChBC,mBAAkB,aAClBC,iBAAgB,aAChBC,gBAAe,aACfC,qBAAoB,SAAC1W,GAEjB2W,QAAQC,IAAI,wBAAyB5W,MAIjDtC,QAAS,CACLmZ,YAAW,SAACva,GACRZ,KAAK0a,gBAAkB9Z,GAI3Bwa,IAAG,WACCC,cAAcrb,KAAKua,OACnBva,KAAKwa,YAAcxa,KAAKya,GAAG,qBAC3Bza,KAAKmb,aAAY,IAIrBG,UAAS,WAA2B,IAAAnZ,EAAA,KAA1BoZ,EAAInY,UAAAvE,OAAA,QAAAM,IAAAiE,UAAA,GAAAA,UAAA,GAAG,GAAIoY,EAAQpY,UAAAvE,OAAA,QAAAM,IAAAiE,UAAA,GAAAA,UAAA,GAAG,GAC5BpD,KAAKwa,YAAcxa,KAAKya,GAAG,sBAAuB,CAAEgB,QAASF,IAC7Dvb,KAAKmb,aAAY,GACjBnb,KAAKua,MAAQmB,aAAY,WACjBH,EAAO,GACPA,GAAQ,EACRpZ,EAAKqY,YAAcrY,EAAKsY,GAAG,sBAAuB,CAAEgB,QAASF,MAE7DpZ,EAAKiZ,MACLG,EAAOC,KAEZ,KAEH,IAAMG,EAAa,aAAHC,OAAqC,UAArB5b,KAAK6b,OAAOlb,KAAmB,QAAU,aACzEmb,OAAKC,cAAc,CACfJ,aACAK,aAAc,cAUhBC,aAAY,SAACC,EAAO7a,EAAMwQ,GAAS,IAAA3E,EAAA,YAAAiG,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAE,EAAA2I,EAAAnI,EAAAoI,EAAAC,EAAAC,EAAA,OAAAlJ,iBAAAG,MAAA,SAAAgJ,GAAA,eAAAA,EAAA9I,KAAA8I,EAAA7I,MAAA,OAWD,OARpCxG,EAAKoN,SAAWV,IAAIsC,GAAOM,cAErBL,EAAQjP,EAAK2O,OAAOY,MAAMN,OAASO,eAAWC,eAAeC,QAAQ,WAAa,GAElF5I,EAAMc,eAAA,CACR+E,QAASgD,mBAAkBC,IAAAtJ,EAAA,GAAAoI,OAAI1O,EAAK2M,QAAO,MAAArJ,KAAAgD,EAAI2I,IAC/CvD,KAAM1L,EAAKoN,SACXjZ,QACGuR,IAAOf,GAAS,SAAAL,GAAI,OAAIA,MAAK+K,EAAA7I,KAAA,EAEZX,eAAUiB,GAAO,OAKU,OAL7CoI,EAASG,EAAAQ,KACTV,GAAUD,EAAUpd,KAAO,IAAIyH,MAAM,UAC3CuW,IAAc9P,EAAK4M,WAAUC,eAAA,GAAK1Y,EAAO+a,EAAUa,SAG7CX,EAAWY,eAAWhB,EAAOG,EAAO,KAAO,GAAEE,EAAA5I,OAAA,SAE5C,CACHwJ,eAAgBb,EAChBc,eAAgB,EAChBxE,KAAM1L,EAAKoN,WACd,yBAAAiC,EAAAzI,UAAAR,MAxBoCH,IAiCzC+E,MAAOmF,IAAQ,eAAAhd,EAAA8S,eAAAC,iBAAAC,MAAC,SAAAiK,EAAgBpB,EAAOqB,GAAS,IAAA1L,EAAAoL,EAAArC,EAAAC,EAAAG,EAAAF,EAAAC,EAAAyC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtL,EAAA,KAAAuL,EAAAza,UAAA,OAAAgQ,iBAAAG,MAAA,SAAAuK,GAAA,eAAAA,EAAArK,KAAAqK,EAAApK,MAAA,OAsBxC,OAtB0C7B,EAAOgM,EAAAhf,OAAA,QAAAM,IAAA0e,EAAA,GAAAA,EAAA,GAAG,GACxDxC,cAAcrb,KAAKua,OAGnBva,KAAKmb,aAAY,GAAM2C,EAAArK,KAAA,EAIfwJ,EAMApL,EANAoL,OACArC,EAKA/I,EALA+I,eACAC,EAIAhJ,EAJAgJ,mBACAG,EAGAnJ,EAHAmJ,qBACAF,EAEAjJ,EAFAiJ,iBACAC,EACAlJ,EADAkJ,gBAGAtK,IAAcmK,KAAiB5a,KAAK4a,eAAiBA,GACrDmD,IAAWlD,KAAqB7a,KAAK6a,mBAAqBA,GAC1DkD,IAAWjD,KAAmB9a,KAAK8a,iBAAmBA,GACtDiD,IAAWhD,KAAkB/a,KAAK+a,gBAAkBA,GACpDgD,IAAW/C,KAAuBhb,KAAKgb,qBAAuBA,GAElE8C,EAAApK,KAAA,GACyB1T,KAAKic,aAAaC,EAAOqB,EAAW,CAAEN,WAAS,QAAxD,OAAVO,EAAUM,EAAAf,KAAAe,EAAApK,KAAG,GAGOK,eAAS,CAC/BkJ,OAAQjd,KAAK8Z,WAAWyD,GACxBrB,MAAO8B,IAAeR,KACxB,QAHIC,EAAWK,EAAAf,KAKjBW,EAC2CD,EAAnCE,kBAAU,IAAAD,EAAG,GAAEA,EAAEE,EAAkBH,EAAlBG,cAEL,KAAfD,GACD3d,KAAK6a,qBACL7a,KAAK2a,gBAAkBsD,eACnBje,KAAKke,gBAAgBN,IACrB,SAAA3T,GAAI,OAAIqI,EAAK6L,sBAAsBlU,EAAMsT,MACzC,SAAAa,GACI9L,EAAK6I,aAAY,GACjB7I,EAAK0I,qBAAqBoD,KAE9Bpe,KAAK4a,iBAIT5a,KAAKsb,YACRwC,EAAApK,KAAA,iBAAAoK,EAAArK,KAAA,GAAAqK,EAAAO,GAAAP,EAAA,YAED9d,KAAKmb,aAAY,GAAO,yBAAA2C,EAAAhK,UAAAwJ,EAAA,mBAE/B,gBAAAtK,EAAAsL,GAAA,OAAAje,EAAA6S,MAAA,KAAA9P,YApDc,GAoDZ,KAEH8a,gBAAe,SAACN,GACZ,OAAOja,IAAI+Y,eAAWkB,GAAgB,iBAIpCO,sBAAqB,SAACI,EAAKhB,GAAW,IAAAiB,EAAA,YAAArL,eAAAC,iBAAAC,MAAA,SAAAoL,IAAA,IAAAhB,EAAAiB,EAAAf,EAAAC,EAAAe,EAAA,OAAAvL,iBAAAG,MAAA,SAAAqL,GAAA,eAAAA,EAAAnL,KAAAmL,EAAAlL,MAAA,UAExB,IAAZ6K,EAAIM,IAAS,CAAAD,EAAAlL,KAAA,SACW,OAAxB8K,EAAK1D,mBAAmB8D,EAAAnL,KAAA,EAAAmL,EAAAlL,KAAA,EAEMO,eAAiB,CACvCgJ,OAAQuB,EAAK1E,WAAWyD,GACxBuB,QAASd,IAAe,CACpBe,OAAQ,CACJC,QAAW,OAAHT,QAAG,IAAHA,OAAG,EAAHA,EAAKS,SAAU,GACvBC,SAAY,OAAHV,QAAG,IAAHA,OAAG,EAAHA,EAAKW,UAAW,QAGnC,OARIzB,EAAWmB,EAAA7B,KAAA2B,EAU0BjB,EAAnCE,kBAAU,IAAAe,EAAG,GAAEA,EAAEd,EAAkBH,EAAlBG,cACL,KAAfD,GACDa,EAAK3D,qBACL2D,EAAK7D,gBAAkBsD,eACnBO,EAAKN,gBAAgBN,IACrB,SAAA3T,GAAI,OAAIuU,EAAKL,sBAAsBlU,EAAMsT,MACzC,SAAAa,GACII,EAAKrD,aAAY,GACjBqD,EAAKxD,qBAAqBoD,KAE9BI,EAAK5D,iBAGT4D,EAAKlD,YACRsD,EAAAlL,KAAA,iBAAAkL,EAAAnL,KAAA,GAAAmL,EAAAP,GAAAO,EAAA,YAEDJ,EAAKzD,kBACLyD,EAAKrD,aAAY,GAAO,QAAAyD,EAAAlL,KAAA,iBAIxB6K,EAAIY,WACJlE,QAAQC,IAAG4B,IAAA6B,EAAA,GAAA/C,OAAI2C,EAAIY,UAAS,MAAA3O,KAAAmO,EAAIJ,EAAI7U,eAExC8U,EAAKzD,kBACLyD,EAAKrD,aAAY,GAAO,yBAAAyD,EAAA9K,UAAA2K,EAAA,kBAxCYtL,IA6CtCiM,iBAAgB,SAAClN,EAAMmN,GAAU,IAAAC,EAAA,YAAAnM,eAAAC,iBAAAC,MAAA,SAAAkM,IAAA,IAAAC,EAAAC,EAAA9B,EAAAC,EAAA8B,EAAA,OAAAtM,iBAAAG,MAAA,SAAAoM,GAAA,eAAAA,EAAAlM,KAAAkM,EAAAjM,MAAA,cAAAiM,EAAAjM,KAAA,EAMzBS,eAAY,CAClB8I,OAAQqC,EAAKxF,WAAWE,OAAUC,aAClCiC,MAAO8B,IAAe9L,EAAKgK,OAC3B0D,SAAUC,eAAgB3N,EAAK0N,YACjC,OAAAJ,EAAAG,EAAA5C,KAAA0C,EAAAD,EAPE7B,kBAAU,IAAA8B,EAAG,GAAEA,EACf7B,EAAa4B,EAAb5B,cACG8B,EAAQI,eAAAN,EAAAO,GAQK,KAAfpC,GAED2B,EAAKzE,qBACLyE,EAAK3E,gBAAkBsD,eACnBqB,EAAKpB,gBAAgBN,IACrB,SAAA3T,GAAI,OAAIqV,EAAKU,oBAAoB/V,EAAMoV,MACvC,SAAAjB,GAAS,OAAIkB,EAAKtE,qBAAqBoD,KACvCkB,EAAK1E,iBAITyE,EAASK,GACZ,wBAAAC,EAAA7L,UAAAyL,MAzBkCpM,IA6BjC6M,oBAAmB,SAACzB,EAAKc,GAAU,IAAAY,EAAA,YAAA9M,eAAAC,iBAAAC,MAAA,SAAA6M,IAAA,IAAAC,EAAAC,EAAAzC,EAAAC,EAAA8B,EAAAW,EAAA,OAAAjN,iBAAAG,MAAA,SAAA+M,GAAA,eAAAA,EAAA7M,KAAA6M,EAAA5M,MAAA,UAErB,IAAZ6K,EAAIM,IAAS,CAAAyB,EAAA5M,KAAA,SACW,OAAxBuM,EAAKnF,mBAAmBwF,EAAA5M,KAAA,EAKdU,eAAc,CACpB6I,OAAQgD,EAAKnG,WAAWE,OAAUC,aAClC6E,QAASd,IAAe,CACpBe,OAAQ,CACJC,QAAW,OAAHT,QAAG,IAAHA,OAAG,EAAHA,EAAKS,SAAU,GACvBC,SAAY,OAAHV,QAAG,IAAHA,OAAG,EAAHA,EAAKW,UAAW,QAGnC,OAAAiB,EAAAG,EAAAvD,KAAAqD,EAAAD,EAXExC,kBAAU,IAAAyC,EAAG,GAAEA,EACfxC,EAAauC,EAAbvC,cACG8B,EAAQI,eAAAK,EAAAI,GAYK,KAAf5C,GACDsC,EAAKpF,qBACLoF,EAAKtF,gBAAkBsD,eACnBgC,EAAK/B,gBAAgBN,IACrB,SAAA3T,GAAI,OAAIgW,EAAKD,oBAAoB/V,EAAMoV,MACvC,SAAAjB,GAAS,OAAI6B,EAAKjF,qBAAqBoD,KACvC6B,EAAKrF,iBAITyE,EAASK,GACZY,EAAA5M,KAAA,iBACM6K,EAAIY,YAEXlE,QAAQC,IAAG4B,IAAAuD,EAAA,GAAAzE,OAAI2C,EAAIY,UAAS,MAAA3O,KAAA6P,EAAI9B,EAAI7U,eACpCuW,EAAKlF,mBACR,yBAAAuF,EAAAxM,UAAAoM,MAnCoC/M,IAuCzCqN,kBAAiB,SAACtO,GACd,OAAOgC,eAAa,CAChB+I,OAAQjd,KAAK8Z,WAAWE,OAAUE,WAClCtB,KAAM5Y,KAAKsa,SACXmG,UAAWvO,EAAKwO,WAKxBC,cAAa,SAACzO,GACV,OAAOmC,eAAS,CACZ4I,OAAQjd,KAAK8Z,WAAWE,OAAUG,UAClCsG,UAAWvO,EAAKwO,QAChB9H,KAAM5Y,KAAKsa,SACXsF,SAAUC,eAAgB3N,EAAK0N,aAKvCgB,mBAAkB,SAAC1O,GACf,OAAOoC,eAAc,CACjB2I,OAAQjd,KAAK8Z,WAAWE,OAAUI,eAClCqG,UAAWvO,EAAKwO,QAChB9H,KAAM5Y,KAAKsa,SACXsF,SAAUC,eAAgB3N,EAAK0N,gB,uBC7T/C,IAAIiB,EAAU,EAAQ,QAClBtiB,EAAU,EAAQ,QAClBJ,EAAW,EAAQ,QAWvB,SAASuU,EAAWlU,EAAQsiB,EAAOjO,GACjC,IAAIjU,GAAS,EACTC,EAASiiB,EAAMjiB,OACfmO,EAAS,GAEb,QAASpO,EAAQC,EAAQ,CACvB,IAAIJ,EAAOqiB,EAAMliB,GACbF,EAAQmiB,EAAQriB,EAAQC,GAExBoU,EAAUnU,EAAOD,IACnBF,EAAQyO,EAAQ7O,EAASM,EAAMD,GAASE,GAG5C,OAAOsO,EAGT5N,EAAOC,QAAUqT,G,uBC7BjB,IAAIlN,EAAkB,EAAQ,QAG1Bub,EAAc,OASlB,SAASC,EAASvb,GAChB,OAAOA,EACHA,EAAOvB,MAAM,EAAGsB,EAAgBC,GAAU,GAAGZ,QAAQkc,EAAa,IAClEtb,EAGNrG,EAAOC,QAAU2hB,G,2DClBjB,yC,kCCAA,oFACO,SAASC,EAAcC,EAASrP,GACrC,IAAIsP,EAASC,OAEG,IAAZvP,IACFA,EAAU,IAGZ,IAAIwP,EAAWxP,EAAQwP,UAAY,QACnC,MAAO,CACL1hB,QAASwhB,EAAU,GAAIA,EAAQD,GAAW,CACxCrhB,QAAS,MACRshB,GACH5f,UAAW6f,EAAY,CACrB9gB,OAAQ,WACN,OAAIN,KAAKwB,oBACA,KAGFxB,KAAKkhB,KAEbE,EAAUC,GAAY,WAGvB,OAFArhB,KAAKshB,eAEDthB,KAAKM,OACAN,KAAKM,OAAOF,SAASwD,QAAQ5D,MAG/B,MACNohB,GACHthB,MAAO,CACL0B,oBAAqB,SAA6BsC,GAC3CA,GACH9D,KAAKshB,iBAIX9W,QAAS,WACPxK,KAAKshB,gBAEP5W,cAAe,WACb,IAAIvI,EAAQnC,KAERA,KAAKM,SACPN,KAAKM,OAAOF,SAAWJ,KAAKM,OAAOF,SAASiN,QAAO,SAAUmE,GAC3D,OAAOA,IAASrP,OAItBH,QAAS,CACPsf,aAAc,WACZ,GAAKthB,KAAKM,SAAkD,IAAxCN,KAAKM,OAAOF,SAASwD,QAAQ5D,MAAjD,CAIA,IAAII,EAAW,GAAGwb,OAAO5b,KAAKM,OAAOF,SAAU,CAACJ,OAChD,eAAaI,EAAUJ,KAAKM,QAC5BN,KAAKM,OAAOF,SAAWA,MAKxB,SAASmhB,EAAYjhB,GAC1B,MAAO,CACLoI,QAAS,WACP,IAAIrI,EAEJ,OAAOA,EAAO,GAAIA,EAAKC,GAAUN,KAAMK,GAEzC4J,KAAM,WACJ,MAAO,CACL7J,SAAU,Q,oCCvElB,mD,sBCAA,IAAI/B,EAAW,EAAQ,QACnBmB,EAAM,EAAQ,QACdgiB,EAAW,EAAQ,QAGnBC,EAAkB,sBAGlBC,EAAYrT,KAAKlK,IACjBwd,EAAYtT,KAAKC,IAwDrB,SAAS+O,EAASuE,EAAMC,EAAMhQ,GAC5B,IAAIiQ,EACAC,EACAC,EACAhV,EACAiV,EACAC,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAARV,EACT,MAAM,IAAIW,UAAUd,GAUtB,SAASe,EAAWjH,GAClB,IAAIkH,EAAOX,EACPY,EAAUX,EAKd,OAHAD,EAAWC,OAAW5iB,EACtBgjB,EAAiB5G,EACjBvO,EAAS4U,EAAK1O,MAAMwP,EAASD,GACtBzV,EAGT,SAAS2V,EAAYpH,GAMnB,OAJA4G,EAAiB5G,EAEjB0G,EAAUtf,WAAWigB,EAAcf,GAE5BO,EAAUI,EAAWjH,GAAQvO,EAGtC,SAAS6V,EAActH,GACrB,IAAIuH,EAAoBvH,EAAO2G,EAC3Ba,EAAsBxH,EAAO4G,EAC7Ba,EAAcnB,EAAOiB,EAEzB,OAAOT,EACHV,EAAUqB,EAAahB,EAAUe,GACjCC,EAGN,SAASC,EAAa1H,GACpB,IAAIuH,EAAoBvH,EAAO2G,EAC3Ba,EAAsBxH,EAAO4G,EAKjC,YAAyBhjB,IAAjB+iB,GAA+BY,GAAqBjB,GACzDiB,EAAoB,GAAOT,GAAUU,GAAuBf,EAGjE,SAASY,IACP,IAAIrH,EAAO/b,IACX,GAAIyjB,EAAa1H,GACf,OAAO2H,EAAa3H,GAGtB0G,EAAUtf,WAAWigB,EAAcC,EAActH,IAGnD,SAAS2H,EAAa3H,GAKpB,OAJA0G,OAAU9iB,EAINmjB,GAAYR,EACPU,EAAWjH,IAEpBuG,EAAWC,OAAW5iB,EACf6N,GAGT,SAASmW,SACShkB,IAAZ8iB,GACFje,aAAaie,GAEfE,EAAiB,EACjBL,EAAWI,EAAeH,EAAWE,OAAU9iB,EAGjD,SAASikB,IACP,YAAmBjkB,IAAZ8iB,EAAwBjV,EAASkW,EAAa1jB,KAGvD,SAAS6jB,IACP,IAAI9H,EAAO/b,IACP8jB,EAAaL,EAAa1H,GAM9B,GAJAuG,EAAW1e,UACX2e,EAAW/hB,KACXkiB,EAAe3G,EAEX+H,EAAY,CACd,QAAgBnkB,IAAZ8iB,EACF,OAAOU,EAAYT,GAErB,GAAIG,EAIF,OAFAre,aAAaie,GACbA,EAAUtf,WAAWigB,EAAcf,GAC5BW,EAAWN,GAMtB,YAHgB/iB,IAAZ8iB,IACFA,EAAUtf,WAAWigB,EAAcf,IAE9B7U,EAIT,OA3GA6U,EAAOL,EAASK,IAAS,EACrBxjB,EAASwT,KACXuQ,IAAYvQ,EAAQuQ,QACpBC,EAAS,YAAaxQ,EACtBmQ,EAAUK,EAASX,EAAUF,EAAS3P,EAAQmQ,UAAY,EAAGH,GAAQG,EACrEM,EAAW,aAAczQ,IAAYA,EAAQyQ,SAAWA,GAoG1De,EAAUF,OAASA,EACnBE,EAAUD,MAAQA,EACXC,EAGTjkB,EAAOC,QAAUge,G,kCC9LjB,sGACO,IAEIkG,EAAS,eACTC,EAAaD,EAAS,QACtBE,EAAcF,EAAS,SAEvBG,EAAkBH,EAAS,c,qBCPtC,IAAIvC,EAAW,EAAQ,QACnB3iB,EAAW,EAAQ,QACnBslB,EAAW,EAAQ,QAGnBC,EAAM,IAGNC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAeC,SAyBnB,SAASzC,EAAS9iB,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAAIilB,EAASjlB,GACX,OAAOklB,EAET,GAAIvlB,EAASK,GAAQ,CACnB,IAAIwlB,EAAgC,mBAAjBxlB,EAAMylB,QAAwBzlB,EAAMylB,UAAYzlB,EACnEA,EAAQL,EAAS6lB,GAAUA,EAAQ,GAAMA,EAE3C,GAAoB,iBAATxlB,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQsiB,EAAStiB,GACjB,IAAI0lB,EAAWN,EAAWpe,KAAKhH,GAC/B,OAAQ0lB,GAAYL,EAAUre,KAAKhH,GAC/BslB,EAAatlB,EAAMwF,MAAM,GAAIkgB,EAAW,EAAI,GAC3CP,EAAWne,KAAKhH,GAASklB,GAAOllB,EAGvCU,EAAOC,QAAUmiB,G,kCC/DjB,6GAWIhe,EAAmB,eAAgB,UACnCE,EAAkBF,EAAiB,GACnCjD,EAAMiD,EAAiB,GAE3B,SAAS6gB,EAAOxhB,EAAGnC,EAAOsC,EAAO0E,GAC/B,IAAIrH,EAEAikB,EAAM5jB,EAAM4jB,IACZjiB,EAAO3B,EAAM2B,KACbhB,EAAOX,EAAMW,KACbkjB,EAAQ7jB,EAAM6jB,MACdC,EAAQ9jB,EAAM8jB,MACd5jB,EAAWF,EAAME,SACjB6jB,EAAU/jB,EAAM+jB,QAChBC,EAAWhkB,EAAMgkB,SACjBC,EAAcjkB,EAAMikB,YACpBC,EAAelkB,EAAMkkB,aACrB7W,EAAQ,GAkBZ,SAAS9L,EAAQC,GACXxB,EAAM+jB,SACRviB,EAAMkQ,iBAGHqS,GAAY7jB,IACf,eAAK8G,EAAK,QAASxF,GACnB,eAAgBwF,IAIpB,SAASmd,EAAa3iB,GACpB,eAAKwF,EAAK,aAAcxF,GA5BtBqiB,IACFxW,EAAMwW,MAAQC,EAAQD,EAAQ,QAEzBC,IAEHzW,EAAM+W,WAAaP,IAIc,IAA/BA,EAAM3gB,QAAQ,YAChBmK,EAAMxG,OAAS,EAEfwG,EAAMlM,YAAc0iB,GAmBxB,IAAIjc,EAAU,CAAC/H,EAAI,CAACc,EAAMX,EAAMiG,KAAM,CACpC6d,MAAOA,EACPC,QAASA,EACT7jB,SAAUA,EACV8jB,SAAUA,EACVK,MAAOrkB,EAAMqkB,MACbC,MAAOtkB,EAAMskB,MACbC,OAAQvkB,EAAMukB,WACV5kB,EAAO,GAAIA,EAAK,QAAmBqkB,EAAUrkB,IAEnD,SAAS6kB,IACP,OAAIT,EACKzhB,EAAMyhB,QAAUzhB,EAAMyhB,UAAY5hB,EAAE,OAAS,CAClD,MAAStC,EAAI,WACb,MAAS,CACP,KAAQG,EAAMykB,YACd,KAAQzkB,EAAM0kB,YACd,MAAS,kBAKXpiB,EAAMX,KACDQ,EAAE,MAAO,CACd,MAAStC,EAAI,SACZ,CAACyC,EAAMX,SAGRA,EACKQ,EAAE,OAAM,CACb,MAAS,CACP,KAAQR,EACR,YAAe3B,EAAMqG,YAEvB,MAASxG,EAAI,eANjB,EAWF,SAAS8kB,IACP,IAMIC,EANAC,EAAU,GAwBd,MAtBqB,SAAjBX,GACFW,EAAQhiB,KAAK2hB,KAMbI,EADEb,EACKE,EAEA3hB,EAAMnD,QAAUmD,EAAMnD,UAAYa,EAAM4kB,KAG7CA,GACFC,EAAQhiB,KAAKV,EAAE,OAAQ,CACrB,MAAStC,EAAI,SACZ,CAAC+kB,KAGe,UAAjBV,GACFW,EAAQhiB,KAAK2hB,KAGRK,EAGT,OAAO1iB,EAAEyhB,EAAK,IAAe,CAAC,CAC5B,MAASvW,EACT,MAASzF,EACT,MAAS,CACP,KAAQ5H,EAAM8kB,WACd,SAAY5kB,GAEd,GAAM,CACJ,MAASqB,EACT,WAAc4iB,IAEf,eAAQnd,KAAQ,CAAC7E,EAAE,MAAO,CAC3B,MAAStC,EAAI,YACZ,CAAC8kB,QAGNhB,EAAO3jB,MAAQ,eAAS,GAAI,OAAY,CACtC4kB,KAAMtkB,OACNqB,KAAMrB,OACNujB,MAAOvjB,OACP+jB,MAAOlkB,QACP2jB,MAAO3jB,QACPmkB,MAAOnkB,QACPokB,OAAQpkB,QACR4jB,QAAS5jB,QACT6jB,SAAU7jB,QACVD,SAAUC,QACVkG,WAAY/F,OACZwkB,WAAYxkB,OACZ2jB,YAAa3jB,OACbokB,YAAapkB,OACbsjB,IAAK,CACHjjB,KAAML,OACNnB,QAAS,UAEXwB,KAAM,CACJA,KAAML,OACNnB,QAAS,WAEX8G,KAAM,CACJtF,KAAML,OACNnB,QAAS,UAEXslB,YAAa,CACX9jB,KAAML,OACNnB,QAAS,QAEX+kB,aAAc,CACZvjB,KAAML,OACNnB,QAAS,UAGE,OAAA6D,EAAA,I,kCCpLf,mD,kCCAA,SAAS+hB,EAAcC,GACrB,IAAI1Y,EAAS,GAEb,SAAS2Y,EAASD,GAChBA,EAAO/T,SAAQ,SAAUiU,GACvB5Y,EAAOzJ,KAAKqiB,GAERA,EAAMC,mBACRF,EAASC,EAAMC,kBAAkBC,UAAUvU,KAAI,SAAUC,GACvD,OAAOA,EAAKuU,WAIZH,EAAMxlB,UACRulB,EAASC,EAAMxlB,aAMrB,OADAulB,EAASD,GACF1Y,EAIF,SAASgZ,EAAa5lB,EAAUE,GACrC,IAAI2lB,EAAmB3lB,EAAOylB,OAAOE,iBAErC,GAAKA,GAAqBA,EAAiB7lB,SAA3C,CAIA,IAAIslB,EAASD,EAAcQ,EAAiB7lB,UAC5CA,EAAS8lB,MAAK,SAAUpN,EAAGC,GACzB,OAAO2M,EAAO9hB,QAAQkV,EAAEiN,QAAUL,EAAO9hB,QAAQmV,EAAEgN,YAjCvD","file":"js/login~revoke~transferLogin.abb8d9da.js","sourcesContent":["var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","export var FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};","/**\n * Common part of Checkbox & Radio\n */\nimport Icon from '../icon';\nimport { FieldMixin } from './field';\nimport { ChildrenMixin } from './relation';\nimport { addUnit } from '../utils';\nexport var CheckboxMixin = function CheckboxMixin(_ref) {\n var parent = _ref.parent,\n bem = _ref.bem,\n role = _ref.role;\n return {\n mixins: [ChildrenMixin(parent), FieldMixin],\n props: {\n name: null,\n value: null,\n disabled: Boolean,\n iconSize: [Number, String],\n checkedColor: String,\n labelPosition: String,\n labelDisabled: Boolean,\n shape: {\n type: String,\n default: 'round'\n },\n bindGroup: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n disableBindRelation: function disableBindRelation() {\n return !this.bindGroup;\n },\n isDisabled: function isDisabled() {\n return this.parent && this.parent.disabled || this.disabled;\n },\n direction: function direction() {\n return this.parent && this.parent.direction || null;\n },\n iconStyle: function iconStyle() {\n var checkedColor = this.checkedColor || this.parent && this.parent.checkedColor;\n\n if (checkedColor && this.checked && !this.isDisabled) {\n return {\n borderColor: checkedColor,\n backgroundColor: checkedColor\n };\n }\n },\n tabindex: function tabindex() {\n if (this.isDisabled || role === 'radio' && !this.checked) {\n return -1;\n }\n\n return 0;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n var target = event.target;\n var icon = this.$refs.icon;\n var iconClicked = icon === target || (icon == null ? void 0 : icon.contains(target));\n\n if (!this.isDisabled && (iconClicked || !this.labelDisabled)) {\n this.toggle(); // wait for toggle method to complete\n // so we can get the changed value in the click event listener\n\n setTimeout(function () {\n _this.$emit('click', event);\n });\n } else {\n this.$emit('click', event);\n }\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var checked = this.checked;\n var iconSize = this.iconSize || this.parent && this.parent.iconSize;\n return h(\"div\", {\n \"ref\": \"icon\",\n \"class\": bem('icon', [this.shape, {\n disabled: this.isDisabled,\n checked: checked\n }]),\n \"style\": {\n fontSize: addUnit(iconSize)\n }\n }, [this.slots('icon', {\n checked: checked\n }) || h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"style\": this.iconStyle\n })]);\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"span\", {\n \"class\": bem('label', [this.labelPosition, {\n disabled: this.isDisabled\n }])\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Children = [this.genIcon()];\n\n if (this.labelPosition === 'left') {\n Children.unshift(this.genLabel());\n } else {\n Children.push(this.genLabel());\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": role,\n \"tabindex\": this.tabindex,\n \"aria-checked\": String(this.checked)\n },\n \"class\": bem([{\n disabled: this.isDisabled,\n 'label-disabled': this.labelDisabled\n }, this.direction]),\n \"on\": {\n \"click\": this.onClick\n }\n }, [Children]);\n }\n };\n};","import { createNamespace } from '../utils';\nimport { CheckboxMixin } from '../mixins/checkbox';\n\nvar _createNamespace = createNamespace('checkbox'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [CheckboxMixin({\n bem: bem,\n role: 'checkbox',\n parent: 'vanCheckbox'\n })],\n computed: {\n checked: {\n get: function get() {\n if (this.parent) {\n return this.parent.value.indexOf(this.name) !== -1;\n }\n\n return this.value;\n },\n set: function set(val) {\n if (this.parent) {\n this.setParentValue(val);\n } else {\n this.$emit('input', val);\n }\n }\n }\n },\n watch: {\n value: function value(val) {\n this.$emit('change', val);\n }\n },\n methods: {\n // @exposed-api\n toggle: function toggle(checked) {\n var _this = this;\n\n if (checked === void 0) {\n checked = !this.checked;\n }\n\n // When toggle method is called multiple times at the same time,\n // only the last call is valid.\n // This is a hack for usage inside Cell.\n clearTimeout(this.toggleTask);\n this.toggleTask = setTimeout(function () {\n _this.checked = checked;\n });\n },\n setParentValue: function setParentValue(val) {\n var parent = this.parent;\n var value = parent.value.slice();\n\n if (val) {\n if (parent.max && value.length >= parent.max) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (value.indexOf(this.name) === -1) {\n value.push(this.name);\n parent.$emit('input', value);\n }\n } else {\n var index = value.indexOf(this.name);\n /* istanbul ignore else */\n\n if (index !== -1) {\n value.splice(index, 1);\n parent.$emit('input', value);\n }\n }\n }\n }\n});","/**\n * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nexport function route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\nexport function functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nexport var routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","import { isServer } from '..';\nexport function isAndroid() {\n /* istanbul ignore next */\n return isServer ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\nexport function isIOS() {\n /* istanbul ignore next */\n return isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}","/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\nimport { isIOS as checkIsIOS } from '../validate/system';\nimport { getRootScrollTop, setRootScrollTop } from './scroll';\nvar isIOS = checkIsIOS();\n/* istanbul ignore next */\n\nexport function resetScroll() {\n if (isIOS) {\n setRootScrollTop(getRootScrollTop());\n }\n}","export function range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n var prefix = '';\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n if (_char === '.' && value.match(/^(\\.|-\\.)/)) {\n prefix = index ? '-0' : '0';\n }\n\n return prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nexport function formatNumber(value, allowDot, allowMinus) {\n if (allowDot === void 0) {\n allowDot = true;\n }\n\n if (allowMinus === void 0) {\n allowMinus = true;\n }\n\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n if (allowMinus) {\n value = trimExtraChar(value, '-', /-/g);\n } else {\n value = value.replace(/-/, '');\n }\n\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n} // add num and avoid float number\n\nexport function addNumber(num1, num2) {\n var cardinal = Math.pow(10, 10);\n return Math.round((num1 + num2) * cardinal) / cardinal;\n}","export var cellProps = {\n icon: String,\n size: String,\n center: Boolean,\n isLink: Boolean,\n required: Boolean,\n iconPrefix: String,\n titleStyle: null,\n titleClass: null,\n valueClass: null,\n labelClass: null,\n title: [Number, String],\n value: [Number, String],\n label: [Number, String],\n arrowDirection: String,\n border: {\n type: Boolean,\n default: true\n },\n clickable: {\n type: Boolean,\n default: null\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { routeProps, functionalRoute } from '../utils/router';\nimport { cellProps } from './shared'; // Components\n\nimport Icon from '../icon'; // Types\n\nvar _createNamespace = createNamespace('cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Cell(h, props, slots, ctx) {\n var _props$clickable;\n\n var icon = props.icon,\n size = props.size,\n title = props.title,\n label = props.label,\n value = props.value,\n isLink = props.isLink;\n var showTitle = slots.title || isDef(title);\n\n function Label() {\n var showLabel = slots.label || isDef(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [bem('label'), props.labelClass]\n }, [slots.label ? slots.label() : label]);\n }\n }\n\n function Title() {\n if (showTitle) {\n return h(\"div\", {\n \"class\": [bem('title'), props.titleClass],\n \"style\": props.titleStyle\n }, [slots.title ? slots.title() : h(\"span\", [title]), Label()]);\n }\n }\n\n function Value() {\n var showValue = slots.default || isDef(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [bem('value', {\n alone: !showTitle\n }), props.valueClass]\n }, [slots.default ? slots.default() : h(\"span\", [value])]);\n }\n }\n\n function LeftIcon() {\n if (slots.icon) {\n return slots.icon();\n }\n\n if (icon) {\n return h(Icon, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n }\n });\n }\n }\n\n function RightIcon() {\n var rightIconSlot = slots['right-icon'];\n\n if (rightIconSlot) {\n return rightIconSlot();\n }\n\n if (isLink) {\n var arrowDirection = props.arrowDirection;\n return h(Icon, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n\n var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;\n var classes = {\n clickable: clickable,\n center: props.center,\n required: props.required,\n borderless: !props.border\n };\n\n if (size) {\n classes[size] = size;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem(classes),\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"on\": {\n \"click\": onClick\n }\n }, inherit(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);\n}\n\nCell.props = _extends({}, cellProps, routeProps);\nexport default createComponent(Cell);","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { resetScroll } from '../utils/dom/reset-scroll';\nimport { formatNumber } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event';\nimport { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';\nimport { isDef, addUnit, isObject, isPromise, isFunction, createNamespace } from '../utils'; // Components\n\nimport Icon from '../icon';\nimport Cell from '../cell';\nimport { cellProps } from '../cell/shared';\n\nvar _createNamespace = createNamespace('field'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n inheritAttrs: false,\n provide: function provide() {\n return {\n vanField: this\n };\n },\n inject: {\n vanForm: {\n default: null\n }\n },\n props: _extends({}, cellProps, {\n name: String,\n rules: Array,\n disabled: {\n type: Boolean,\n default: null\n },\n readonly: {\n type: Boolean,\n default: null\n },\n autosize: [Boolean, Object],\n leftIcon: String,\n rightIcon: String,\n clearable: Boolean,\n formatter: Function,\n maxlength: [Number, String],\n labelWidth: [Number, String],\n labelClass: null,\n labelAlign: String,\n inputAlign: String,\n placeholder: String,\n errorMessage: String,\n errorMessageAlign: String,\n showWordLimit: Boolean,\n value: {\n type: [Number, String],\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n error: {\n type: Boolean,\n default: null\n },\n colon: {\n type: Boolean,\n default: null\n },\n clearTrigger: {\n type: String,\n default: 'focus'\n },\n formatTrigger: {\n type: String,\n default: 'onChange'\n }\n }),\n data: function data() {\n return {\n focused: false,\n validateFailed: false,\n validateMessage: ''\n };\n },\n watch: {\n value: function value() {\n this.updateValue(this.value);\n this.resetValidation();\n this.validateWithTrigger('onChange');\n this.$nextTick(this.adjustSize);\n }\n },\n mounted: function mounted() {\n this.updateValue(this.value, this.formatTrigger);\n this.$nextTick(this.adjustSize);\n\n if (this.vanForm) {\n this.vanForm.addField(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.vanForm) {\n this.vanForm.removeField(this);\n }\n },\n computed: {\n showClear: function showClear() {\n var readonly = this.getProp('readonly');\n\n if (this.clearable && !readonly) {\n var hasValue = isDef(this.value) && this.value !== '';\n var trigger = this.clearTrigger === 'always' || this.clearTrigger === 'focus' && this.focused;\n return hasValue && trigger;\n }\n },\n showError: function showError() {\n if (this.error !== null) {\n return this.error;\n }\n\n if (this.vanForm && this.vanForm.showError && this.validateFailed) {\n return true;\n }\n },\n listeners: function listeners() {\n return _extends({}, this.$listeners, {\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput,\n click: this.onClickInput,\n keypress: this.onKeypress\n });\n },\n labelStyle: function labelStyle() {\n var labelWidth = this.getProp('labelWidth');\n\n if (labelWidth) {\n return {\n width: addUnit(labelWidth)\n };\n }\n },\n formValue: function formValue() {\n if (this.children && (this.$scopedSlots.input || this.$slots.input)) {\n return this.children.value;\n }\n\n return this.value;\n }\n },\n methods: {\n // @exposed-api\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n // @exposed-api\n blur: function blur() {\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n runValidator: function runValidator(value, rule) {\n return new Promise(function (resolve) {\n var returnVal = rule.validator(value, rule);\n\n if (isPromise(returnVal)) {\n return returnVal.then(resolve);\n }\n\n resolve(returnVal);\n });\n },\n isEmptyValue: function isEmptyValue(value) {\n if (Array.isArray(value)) {\n return !value.length;\n }\n\n if (value === 0) {\n return false;\n }\n\n return !value;\n },\n runSyncRule: function runSyncRule(value, rule) {\n if (rule.required && this.isEmptyValue(value)) {\n return false;\n }\n\n if (rule.pattern && !rule.pattern.test(value)) {\n return false;\n }\n\n return true;\n },\n getRuleMessage: function getRuleMessage(value, rule) {\n var message = rule.message;\n\n if (isFunction(message)) {\n return message(value, rule);\n }\n\n return message;\n },\n runRules: function runRules(rules) {\n var _this = this;\n\n return rules.reduce(function (promise, rule) {\n return promise.then(function () {\n if (_this.validateFailed) {\n return;\n }\n\n var value = _this.formValue;\n\n if (rule.formatter) {\n value = rule.formatter(value, rule);\n }\n\n if (!_this.runSyncRule(value, rule)) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n return;\n }\n\n if (rule.validator) {\n return _this.runValidator(value, rule).then(function (result) {\n if (result === false) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n }\n });\n }\n });\n }, Promise.resolve());\n },\n validate: function validate(rules) {\n var _this2 = this;\n\n if (rules === void 0) {\n rules = this.rules;\n }\n\n return new Promise(function (resolve) {\n if (!rules) {\n resolve();\n }\n\n _this2.resetValidation();\n\n _this2.runRules(rules).then(function () {\n if (_this2.validateFailed) {\n resolve({\n name: _this2.name,\n message: _this2.validateMessage\n });\n } else {\n resolve();\n }\n });\n });\n },\n validateWithTrigger: function validateWithTrigger(trigger) {\n if (this.vanForm && this.rules) {\n var defaultTrigger = this.vanForm.validateTrigger === trigger;\n var rules = this.rules.filter(function (rule) {\n if (rule.trigger) {\n return rule.trigger === trigger;\n }\n\n return defaultTrigger;\n });\n\n if (rules.length) {\n this.validate(rules);\n }\n }\n },\n resetValidation: function resetValidation() {\n if (this.validateFailed) {\n this.validateFailed = false;\n this.validateMessage = '';\n }\n },\n updateValue: function updateValue(value, trigger) {\n if (trigger === void 0) {\n trigger = 'onChange';\n }\n\n value = isDef(value) ? String(value) : ''; // native maxlength have incorrect line-break counting\n // see: https://github.com/vant-ui/vant/issues/5033\n\n var maxlength = this.maxlength;\n\n if (isDef(maxlength) && value.length > maxlength) {\n if (this.value && this.value.length === +maxlength) {\n value = this.value;\n } else {\n value = value.slice(0, maxlength);\n }\n }\n\n if (this.type === 'number' || this.type === 'digit') {\n var isNumber = this.type === 'number';\n value = formatNumber(value, isNumber, isNumber);\n }\n\n if (this.formatter && trigger === this.formatTrigger) {\n value = this.formatter(value);\n }\n\n var input = this.$refs.input;\n\n if (input && value !== input.value) {\n input.value = value;\n }\n\n if (value !== this.value) {\n this.$emit('input', value);\n }\n },\n onInput: function onInput(event) {\n // not update v-model when composing\n if (event.target.composing) {\n return;\n }\n\n this.updateValue(event.target.value);\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.$emit('focus', event); // https://github.com/vant-ui/vant/issues/9715\n\n this.$nextTick(this.adjustSize); // readonly not work in legacy mobile safari\n\n /* istanbul ignore if */\n\n if (this.getProp('readonly')) {\n this.blur();\n }\n },\n onBlur: function onBlur(event) {\n if (this.getProp('readonly')) {\n return;\n }\n\n this.focused = false;\n this.updateValue(this.value, 'onBlur');\n this.$emit('blur', event);\n this.validateWithTrigger('onBlur');\n this.$nextTick(this.adjustSize);\n resetScroll();\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n onClickInput: function onClickInput(event) {\n this.$emit('click-input', event);\n },\n onClickLeftIcon: function onClickLeftIcon(event) {\n this.$emit('click-left-icon', event);\n },\n onClickRightIcon: function onClickRightIcon(event) {\n this.$emit('click-right-icon', event);\n },\n onClear: function onClear(event) {\n preventDefault(event);\n this.$emit('input', '');\n this.$emit('clear', event);\n },\n onKeypress: function onKeypress(event) {\n var ENTER_CODE = 13;\n\n if (event.keyCode === ENTER_CODE) {\n var submitOnEnter = this.getProp('submitOnEnter');\n\n if (!submitOnEnter && this.type !== 'textarea') {\n preventDefault(event);\n } // trigger blur after click keyboard search button\n\n\n if (this.type === 'search') {\n this.blur();\n }\n }\n\n this.$emit('keypress', event);\n },\n adjustSize: function adjustSize() {\n var input = this.$refs.input;\n\n if (!(this.type === 'textarea' && this.autosize) || !input) {\n return;\n }\n\n var scrollTop = getRootScrollTop();\n input.style.height = 'auto';\n var height = input.scrollHeight;\n\n if (isObject(this.autosize)) {\n var _this$autosize = this.autosize,\n maxHeight = _this$autosize.maxHeight,\n minHeight = _this$autosize.minHeight;\n\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n\n if (minHeight) {\n height = Math.max(height, minHeight);\n }\n }\n\n if (height) {\n input.style.height = height + 'px'; // https://github.com/vant-ui/vant/issues/9178\n\n setRootScrollTop(scrollTop);\n }\n },\n genInput: function genInput() {\n var h = this.$createElement;\n var type = this.type;\n var disabled = this.getProp('disabled');\n var readonly = this.getProp('readonly');\n var inputSlot = this.slots('input');\n var inputAlign = this.getProp('inputAlign');\n\n if (inputSlot) {\n return h(\"div\", {\n \"class\": bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: bem('control', inputAlign),\n domProps: {\n value: this.value\n },\n attrs: _extends({}, this.$attrs, {\n name: this.name,\n disabled: disabled,\n readonly: readonly,\n placeholder: this.placeholder\n }),\n on: this.listeners,\n // add model directive to skip IME composition\n directives: [{\n name: 'model',\n value: this.value\n }]\n };\n\n if (type === 'textarea') {\n return h(\"textarea\", _mergeJSXProps([{}, inputProps]));\n }\n\n var inputType = type;\n var inputMode; // type=\"number\" is weird in iOS, and can't prevent dot in Android\n // so use inputmode to set keyboard in modern browsers\n\n if (type === 'number') {\n inputType = 'text';\n inputMode = 'decimal';\n }\n\n if (type === 'digit') {\n inputType = 'tel';\n inputMode = 'numeric';\n }\n\n return h(\"input\", _mergeJSXProps2([{\n \"attrs\": {\n \"type\": inputType,\n \"inputmode\": inputMode\n }\n }, inputProps]));\n },\n genLeftIcon: function genLeftIcon() {\n var h = this.$createElement;\n var showLeftIcon = this.slots('left-icon') || this.leftIcon;\n\n if (showLeftIcon) {\n return h(\"div\", {\n \"class\": bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.leftIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genRightIcon: function genRightIcon() {\n var h = this.$createElement;\n var slots = this.slots;\n var showRightIcon = slots('right-icon') || this.rightIcon;\n\n if (showRightIcon) {\n return h(\"div\", {\n \"class\": bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(Icon, {\n \"attrs\": {\n \"name\": this.rightIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genWordLimit: function genWordLimit() {\n var h = this.$createElement;\n\n if (this.showWordLimit && this.maxlength) {\n var count = (this.value || '').length;\n return h(\"div\", {\n \"class\": bem('word-limit')\n }, [h(\"span\", {\n \"class\": bem('word-num')\n }, [count]), \"/\", this.maxlength]);\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n\n if (this.vanForm && this.vanForm.showErrorMessage === false) {\n return;\n }\n\n var message = this.errorMessage || this.validateMessage;\n\n if (message) {\n var errorMessageAlign = this.getProp('errorMessageAlign');\n return h(\"div\", {\n \"class\": bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if (isDef(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && isDef(this.vanForm[key])) {\n return this.vanForm[key];\n }\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var colon = this.getProp('colon') ? ':' : '';\n\n if (this.slots('label')) {\n return [this.slots('label'), colon];\n }\n\n if (this.label) {\n return h(\"span\", [this.label + colon]);\n }\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var slots = this.slots;\n var disabled = this.getProp('disabled');\n var labelAlign = this.getProp('labelAlign');\n var scopedSlots = {\n icon: this.genLeftIcon\n };\n var Label = this.genLabel();\n\n if (Label) {\n scopedSlots.title = function () {\n return Label;\n };\n }\n\n var extra = this.slots('extra');\n\n if (extra) {\n scopedSlots.extra = function () {\n return extra;\n };\n }\n\n return h(Cell, {\n \"attrs\": {\n \"icon\": this.leftIcon,\n \"size\": this.size,\n \"center\": this.center,\n \"border\": this.border,\n \"isLink\": this.isLink,\n \"required\": this.required,\n \"clickable\": this.clickable,\n \"titleStyle\": this.labelStyle,\n \"valueClass\": bem('value'),\n \"titleClass\": [bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": bem((_bem = {\n error: this.showError,\n disabled: disabled\n }, _bem[\"label-\" + labelAlign] = labelAlign, _bem['min-height'] = this.type === 'textarea' && !this.autosize, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('body')\n }, [this.genInput(), this.showClear && h(Icon, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n});","import '../../style/base.less';\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","import { createNamespace } from '../utils';\nimport { sortChildren } from '../utils/vnodes';\n\nvar _createNamespace = createNamespace('form'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n colon: Boolean,\n disabled: Boolean,\n readonly: Boolean,\n labelWidth: [Number, String],\n labelAlign: String,\n inputAlign: String,\n scrollToError: Boolean,\n validateFirst: Boolean,\n errorMessageAlign: String,\n submitOnEnter: {\n type: Boolean,\n default: true\n },\n validateTrigger: {\n type: String,\n default: 'onBlur'\n },\n showError: {\n type: Boolean,\n default: true\n },\n showErrorMessage: {\n type: Boolean,\n default: true\n }\n },\n provide: function provide() {\n return {\n vanForm: this\n };\n },\n data: function data() {\n return {\n fields: []\n };\n },\n methods: {\n getFieldsByNames: function getFieldsByNames(names) {\n if (names) {\n return this.fields.filter(function (field) {\n return names.indexOf(field.name) !== -1;\n });\n }\n\n return this.fields;\n },\n validateSeq: function validateSeq(names) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n var errors = [];\n\n var fields = _this.getFieldsByNames(names);\n\n fields.reduce(function (promise, field) {\n return promise.then(function () {\n if (!errors.length) {\n return field.validate().then(function (error) {\n if (error) {\n errors.push(error);\n }\n });\n }\n });\n }, Promise.resolve()).then(function () {\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n validateFields: function validateFields(names) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var fields = _this2.getFieldsByNames(names);\n\n Promise.all(fields.map(function (item) {\n return item.validate();\n })).then(function (errors) {\n errors = errors.filter(function (item) {\n return item;\n });\n\n if (errors.length) {\n reject(errors);\n } else {\n resolve();\n }\n });\n });\n },\n // @exposed-api\n validate: function validate(name) {\n if (name && !Array.isArray(name)) {\n return this.validateField(name);\n }\n\n return this.validateFirst ? this.validateSeq(name) : this.validateFields(name);\n },\n validateField: function validateField(name) {\n var matched = this.fields.filter(function (item) {\n return item.name === name;\n });\n\n if (matched.length) {\n return new Promise(function (resolve, reject) {\n matched[0].validate().then(function (error) {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n }\n\n return Promise.reject();\n },\n // @exposed-api\n resetValidation: function resetValidation(name) {\n if (name && !Array.isArray(name)) {\n name = [name];\n }\n\n var fields = this.getFieldsByNames(name);\n fields.forEach(function (item) {\n item.resetValidation();\n });\n },\n // @exposed-api\n scrollToField: function scrollToField(name, options) {\n this.fields.some(function (item) {\n if (item.name === name) {\n item.$el.scrollIntoView(options);\n return true;\n }\n\n return false;\n });\n },\n addField: function addField(field) {\n this.fields.push(field);\n sortChildren(this.fields, this);\n },\n removeField: function removeField(field) {\n this.fields = this.fields.filter(function (item) {\n return item !== field;\n });\n },\n getValues: function getValues() {\n return this.fields.reduce(function (form, field) {\n form[field.name] = field.formValue;\n return form;\n }, {});\n },\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n this.submit();\n },\n // @exposed-api\n submit: function submit() {\n var _this3 = this;\n\n var values = this.getValues();\n this.validate().then(function () {\n _this3.$emit('submit', values);\n }).catch(function (errors) {\n _this3.$emit('failed', {\n values: values,\n errors: errors\n });\n\n if (_this3.scrollToError) {\n _this3.scrollToField(errors[0].name);\n }\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"form\", {\n \"class\": bem(),\n \"on\": {\n \"submit\": this.onSubmit\n }\n }, [this.slots()]);\n }\n});","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","import http from '@/lib/axios';\n\n/**\n * @typedef {Object} InitOptions\n * @property {string} ueAppId 盛趣加解密服务 appId\n * @property {string} hash 用 md5 加密后的 email\n * @property {string} type email类型 详见 EmailType\n * @property {(string | undefined)} flowId 新增字段,用于在个别业务流程中插入邮件验证码验证流程。例如:账号注销\n */\n\n/**\n * 邮箱加密流程初始化\n * @param {InitOptions} options\n * @return {Promise<{ flowId: string; key: string; operationModel: number }>}flowId:业务流程id;key:按顺序与 hash 对应;operationModel:0熔断/1正常\n */\nexport async function emailInit(options) {\n return http.post('basic/email/init', options);\n}\n\n/**\n * 发送验证码\n * @param {{ flowId: string; email: string; scene?: string}} params email 的密文格式为 cipherInfo\n * @return {Promise<{ nextAction: string; captchaParams: string }>}\n */\nexport function sendCode(params) {\n return http.post('basic/email/sendCode', params);\n}\n\n/**\n * 校验图验邮箱验证码发送\n * @param {{ flowId: string; outInfo: string; }} params\n * @return {Promise<{ nextAction: string; captchaParams: string }>}\n */\nexport function picCheckSendCode(params) {\n return http.post('basic/email/picCheckSendCode', params);\n}\n\n/**\n * 邮箱验证码登录\n * @return {Promise<{ userId: string; loginType: number; token: string; nextAction: string; captchaParams: string}>}\n */\nexport function captchaLogin(params) {\n return http.post('web/account/emailLogin', params);\n}\n\n/**\n * 邮箱静密登录\n * @return {Promise<{ userId: string; loginType: number; token: string; nextAction: string; captchaParams: string}>}\n */\nexport function staticLogin(params) {\n return http.post('web/account/login', params);\n}\n\n/**\n * @description 天御图验邮箱静密登录(在图验成功后,再使用该接口继续登录)\n * @return {Promise<{ userId: string; loginType: number; token: string; nextAction: string; captchaParams: string}>}\n */\nexport function picCheckLogin(params) {\n return http.post('web/account/picCheckLogin', params);\n}\n\n/**\n * 邮箱注册\n * @return {Promise<{ userId: string; loginType: number; token: string}>}\n */\nexport function register(params) {\n return http.post('web/account/register', params);\n}\n\n/**\n * 邮箱密码重置\n * @return {Promise<{ userId: string; loginType: number; token: string}>}\n */\nexport function resetPassword(params) {\n return http.post('web/account/resetPassword', params);\n}\n\n/**\n * 获取隐私协议\n * @return {Promise<{ privacyAgreementUrl: string; userServiceAgreementUrl: string}>}\n */\nexport function getProtocol() {\n // prettier-ignore\n return http.post('/agreement/user', undefined, {\n baseURL: /gray/.test(window.location.host)\n ? '//abroad-sin-gray.shengqugames-corp.com'\n : 'https://abroad-sin-protocol.shengqugames-corp.com',\n });\n}\n\n/**\n * 获取 webTick\n * @return {Promise<{ ticket: string;}>}\n */\nexport function getWebTicket(returnUrl, axiosConfig) {\n return http.post(\n '/web/account/getWebTicket',\n { returnUrl },\n {\n disabledToast: true,\n ...axiosConfig,\n }\n );\n}\n\n/**\n * 登出\n */\nexport function logout() {\n return http.post('/web/account/logout', undefined, { disabledToast: true });\n}\n","/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.7.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_MD5_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [128, 32768, 8388608, -2147483648];\n var SHIFT = [0, 8, 16, 24];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'];\n var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n var blocks = [], buffer8;\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n buffer8 = new Uint8Array(buffer);\n blocks = new Uint32Array(buffer);\n }\n\n if (root.JS_MD5_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n /**\n * @method hex\n * @memberof md5\n * @description Output hash as hex string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} Hex string\n * @example\n * md5.hex('The quick brown fox jumps over the lazy dog');\n * // equal to\n * md5('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method digest\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.digest('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method array\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.array('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method arrayBuffer\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.arrayBuffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.buffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method base64\n * @memberof md5\n * @description Output hash as base64 string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} base64 string\n * @example\n * md5.base64('The quick brown fox jumps over the lazy dog');\n */\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Md5(true).update(message)[outputType]();\n };\n };\n\n /**\n * @method create\n * @memberof md5\n * @description Create Md5 object\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.create();\n */\n /**\n * @method update\n * @memberof md5\n * @description Create and update Md5 object\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.update('The quick brown fox jumps over the lazy dog');\n * // equal to\n * var hash = md5.create();\n * hash.update('The quick brown fox jumps over the lazy dog');\n */\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Md5();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('md5').update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw ERROR;\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash('md5').update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n /**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\n function Md5(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n this.buffer8 = buffer8;\n } else {\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n }\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n Md5.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw ERROR;\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw ERROR;\n }\n }\n } else {\n throw ERROR;\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n var buffer8 = this.buffer8;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n buffer8[i++] = message[index];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n } else {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | (code >> 6);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | (code >> 12);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n buffer8[i++] = 0xf0 | (code >> 18);\n buffer8[i++] = 0x80 | ((code >> 12) & 0x3f);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Md5.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[i >> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n };\n\n Md5.prototype.hash = function () {\n var a, b, c, d, bc, da, blocks = this.blocks;\n\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ (d & (a ^ -271733879))) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ (c & (d ^ a))) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ (b & (c ^ d))) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n\n a += (d ^ (b & (c ^ d))) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n };\n\n /**\n * @method hex\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.hex();\n */\n Md5.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n\n return HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F];\n };\n\n /**\n * @method toString\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.toString();\n */\n Md5.prototype.toString = Md5.prototype.hex;\n\n /**\n * @method digest\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.digest}\n * @example\n * hash.digest();\n */\n Md5.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n return [\n h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 24) & 0xFF,\n h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 24) & 0xFF,\n h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 24) & 0xFF,\n h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 24) & 0xFF\n ];\n };\n\n /**\n * @method array\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.array}\n * @example\n * hash.array();\n */\n Md5.prototype.array = Md5.prototype.digest;\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n Md5.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(16);\n var blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n };\n\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.buffer}\n * @example\n * hash.buffer();\n */\n Md5.prototype.buffer = Md5.prototype.arrayBuffer;\n\n /**\n * @method base64\n * @memberof Md5\n * @instance\n * @description Output hash as base64 string\n * @returns {String} base64 string\n * @see {@link md5.base64}\n * @example\n * hash.base64();\n */\n Md5.prototype.base64 = function () {\n var v1, v2, v3, base64Str = '', bytes = this.array();\n for (var i = 0; i < 15;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] +\n BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] +\n BASE64_ENCODE_CHAR[v3 & 63];\n }\n v1 = bytes[i];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4) & 63] +\n '==';\n return base64Str;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n /**\n * @method md5\b\n * @description Md5 hash function, export to global in browsers.\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} md5 hashes\n * @example\n * md5(''); // d41d8cd98f00b204e9800998ecf8427e\n * md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6\n * md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0\n *\n * // It also supports UTF-8 encoding\n * md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07\n *\n * // It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`\n * md5([]); // d41d8cd98f00b204e9800998ecf8427e\n * md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e\n */\n root.md5 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","/** 邮箱登录相关 —— 初始化、验证码、登录、注册、重置密码等 */\n/* eslint-disable no-param-reassign */\n/* eslint-disable camelcase */\nimport md5 from 'js-md5';\nimport get from 'lodash/get';\nimport pickBy from 'lodash/pickBy';\nimport { encryptAes, loginRsaEncrypt, handleTCaptcha, jsonParser } from '@/lib/utils';\nimport {\n emailInit,\n sendCode,\n picCheckSendCode,\n staticLogin,\n register,\n resetPassword,\n captchaLogin,\n picCheckLogin,\n} from '@/api/login';\nimport Logs from '@/lib/logs';\nimport { EmailType } from '@/enums';\nimport debounce from 'lodash/debounce';\nimport isFunction from 'lodash/isFunction';\nimport isPlainObject from 'lodash/isPlainObject';\n\nexport default {\n data() {\n return {\n ueAppId: 'MobileAb-ACEmail',\n flowIdList: {\n [EmailType.StaticLogin]: '',\n [EmailType.CodeLogin]: '',\n [EmailType.Register]: '',\n [EmailType.ResetPassword]: '',\n [EmailType.RevokeAccount]: '',\n },\n emailMd5: '',\n timer: null,\n captchaText: this.$t('login.sendCaptcha'),\n captchaDisabled: false,\n captchaInstance: null, // 天御验证码实例\n captchaOptions: {}, // 天御外观配置参数\n beforeCaptchaMount() {}, // 拉起天御验证码前,触发的回调\n onCaptchaSuccess() {}, // 天御验证成功\n onCaptchaFailed() {}, // 天御验证失败\n errorCaptchaCaptured(err) {\n // 天御加载失败的回调\n console.log('captcha load failed: ', err);\n },\n };\n },\n methods: {\n setDisabled(disabled) {\n this.captchaDisabled = disabled;\n },\n\n // 结束重置倒计时\n end() {\n clearInterval(this.timer);\n this.captchaText = this.$t('login.sendCaptcha');\n this.setDisabled(false);\n },\n\n // 倒计时(短信发送成功后,再倒计时)\n countdown(time = 60, initTime = 60) {\n this.captchaText = this.$t('login.reSendCaptcha', { seconds: time });\n this.setDisabled(true);\n this.timer = setInterval(() => {\n if (time > 0) {\n time -= 1;\n this.captchaText = this.$t('login.reSendCaptcha', { seconds: time });\n } else {\n this.end();\n time = initTime;\n }\n }, 1000);\n\n const web_pageid = `ghome-web-${this.$route.name === 'Login' ? 'login' : 'dn2-login'}`;\n Logs.imgLog_Button({\n web_pageid,\n web_buttonid: 'send-sms',\n });\n },\n\n /**\n * @description 邮箱业务初始化(Email 加密相关)\n * @param {string} email 邮箱\n * @param {string} type 邮箱业务类型,详见 enums -> EmailType\n * @param {Object} options 其他请求参数\n */\n async ueInitClient(email, type, options) {\n // step 1: 用 md5 加密后的 email 获取 key\n // const hashJson = [md5(email).toUpperCase()];\n this.emailMd5 = md5(email).toUpperCase();\n // prettier-ignore\n const appId = this.$route.query.appId || jsonParser(sessionStorage.getItem('appId')) || '';\n\n const params = {\n ueAppId: encodeURIComponent(`${this.ueAppId}#${appId}`),\n hash: this.emailMd5,\n type,\n ...pickBy(options, item => item), // 过滤空值\n };\n const initEmail = await emailInit(params);\n const keyArr = (initEmail.key || '').split('|');\n Object.assign(this.flowIdList, { [type]: initEmail.flowId });\n\n // step 2: 用 key 再加密 email\n const emailAes = encryptAes(email, keyArr[0]) || '';\n\n return {\n cipherUserInfo: emailAes,\n cipherTextType: 2,\n hash: this.emailMd5,\n };\n },\n\n /**\n * @description 开始倒计时(邮箱初始化 + 短信发送 + 图验)\n * @param {string} email 邮箱\n * @param {string} emailType 邮箱业务类型,详见 enums -> EmailType\n * @param {Object} options 其他请求参数\n */\n start: debounce(async function (email, emailType, options = {}) {\n clearInterval(this.timer);\n\n // step 1: 开启禁用(成功继续走下去,失败解除禁用)\n this.setDisabled(true);\n\n try {\n const {\n flowId, // 其他流程的 flowId,用于插入到邮箱验证流程中\n captchaOptions,\n beforeCaptchaMount,\n errorCaptchaCaptured,\n onCaptchaSuccess,\n onCaptchaFailed,\n } = options;\n\n if (isPlainObject(captchaOptions)) this.captchaOptions = captchaOptions;\n if (isFunction(beforeCaptchaMount)) this.beforeCaptchaMount = beforeCaptchaMount;\n if (isFunction(onCaptchaSuccess)) this.onCaptchaSuccess = onCaptchaSuccess;\n if (isFunction(onCaptchaFailed)) this.onCaptchaFailed = onCaptchaFailed;\n if (isFunction(errorCaptchaCaptured)) this.errorCaptchaCaptured = errorCaptchaCaptured; // prettier-ignore\n\n // step 2: 邮箱业务初始化\n const cipherInfo = await this.ueInitClient(email, emailType, { flowId });\n\n // step 3: 请求发送短信,发送成功开始倒计时\n const captchaInfo = await sendCode({\n flowId: this.flowIdList[emailType],\n email: JSON.stringify(cipherInfo),\n });\n\n // step 4:处理 captchaInfo(8:需要图验,其他:无需图验)\n const { nextAction = '', captchaParams } = captchaInfo;\n // step 4.1:拉起天御图验\n if (+nextAction === 8) {\n this.beforeCaptchaMount();\n this.captchaInstance = handleTCaptcha(\n this.getCaptchaAppId(captchaParams),\n data => this.handleTCaptchaSuccess(data, emailType),\n initError => {\n this.setDisabled(false);\n this.errorCaptchaCaptured(initError);\n },\n this.captchaOptions\n );\n } else {\n // step 4.2:短信发送成功,开始倒计时;\n this.countdown();\n }\n } catch (error) {\n this.setDisabled(false);\n }\n }, 800),\n\n getCaptchaAppId(captchaParams) {\n return get(jsonParser(captchaParams), 'tyData.appId');\n },\n\n // 天御验证成功回调 —— 发送SMS短信\n async handleTCaptchaSuccess(res, emailType) {\n // 成功\n if (res.ret === 0) {\n this.onCaptchaSuccess();\n try {\n const captchaInfo = await picCheckSendCode({\n flowId: this.flowIdList[emailType],\n outInfo: JSON.stringify({\n tyData: {\n ticket: res?.ticket || '',\n randStr: res?.randstr || '',\n },\n }),\n });\n\n const { nextAction = '', captchaParams } = captchaInfo;\n if (+nextAction === 8) {\n this.beforeCaptchaMount();\n this.captchaInstance = handleTCaptcha(\n this.getCaptchaAppId(captchaParams),\n data => this.handleTCaptchaSuccess(data, emailType),\n initError => {\n this.setDisabled(false);\n this.errorCaptchaCaptured(initError);\n },\n this.captchaOptions\n );\n } else {\n this.countdown();\n }\n } catch (error) {\n this.onCaptchaFailed();\n this.setDisabled(false);\n }\n } else {\n // 用户主动取消(ret === 2)或组件加载错误\n if (res.errorCode) {\n console.log(`${res.errorCode}:${res.errorMessage}`);\n }\n this.onCaptchaFailed();\n this.setDisabled(false);\n }\n },\n\n // 邮箱静密登录\n async emailStaticLogin(form, callback) {\n // step 1: 静密登录\n const {\n nextAction = '',\n captchaParams,\n ...userInfo\n } = await staticLogin({\n flowId: this.flowIdList[EmailType.StaticLogin],\n email: JSON.stringify(form.email),\n password: loginRsaEncrypt(form.password),\n });\n\n // step 2.1: 如果 captchaInfo.nextAction = 8,则需要天御图验\n if (+nextAction === 8) {\n // step 3.1:图验通过,调用 picCheckLogin 再次登录\n this.beforeCaptchaMount();\n this.captchaInstance = handleTCaptcha(\n this.getCaptchaAppId(captchaParams),\n data => this.handleTLoginSuccess(data, callback),\n initError => this.errorCaptchaCaptured(initError),\n this.captchaOptions\n );\n } else {\n // step 2.2:不等于 8 即登录成功,获取用户信息\n callback(userInfo);\n }\n },\n\n // 天御验证成功回调 —— 静密登录\n async handleTLoginSuccess(res, callback) {\n // 成功\n if (res.ret === 0) {\n this.onCaptchaSuccess();\n const {\n nextAction = '',\n captchaParams,\n ...userInfo\n } = await picCheckLogin({\n flowId: this.flowIdList[EmailType.StaticLogin],\n outInfo: JSON.stringify({\n tyData: {\n ticket: res?.ticket || '',\n randStr: res?.randstr || '',\n },\n }),\n });\n\n // 如果 captchaInfo.nextAction 还是 8,则继续图验循环\n if (+nextAction === 8) {\n this.beforeCaptchaMount();\n this.captchaInstance = handleTCaptcha(\n this.getCaptchaAppId(captchaParams),\n data => this.handleTLoginSuccess(data, callback),\n initError => this.errorCaptchaCaptured(initError),\n this.captchaOptions\n );\n } else {\n // 直到不等于 8(登录成功),跳出循环,获取用户信息\n callback(userInfo);\n }\n } else if (res.errorCode) {\n // 组件加载错误\n console.log(`${res.errorCode}:${res.errorMessage}`);\n this.onCaptchaFailed();\n }\n },\n\n // 邮箱验证码登录\n emailCaptchaLogin(form) {\n return captchaLogin({\n flowId: this.flowIdList[EmailType.CodeLogin],\n hash: this.emailMd5,\n emailCode: form.captcha,\n });\n },\n\n // 注册\n emailRegister(form) {\n return register({\n flowId: this.flowIdList[EmailType.Register],\n emailCode: form.captcha,\n hash: this.emailMd5,\n password: loginRsaEncrypt(form.password),\n });\n },\n\n // 重置密码\n emailResetPassword(form) {\n return resetPassword({\n flowId: this.flowIdList[EmailType.ResetPassword],\n emailCode: form.captcha,\n hash: this.emailMd5,\n password: loginRsaEncrypt(form.password),\n });\n },\n },\n};\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","import '../../style/base.less';\nimport '../../info/index.less';\nimport '../../icon/index.less';\nimport '../index.less';","import { sortChildren } from '../utils/vnodes';\nexport function ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n sortChildren(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\nexport function ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","import '../../style/base.less';\nimport '../../info/index.less';\nimport '../../icon/index.less';\nimport '../../cell/index.less';\nimport '../index.less';","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","// color\nexport var RED = '#ee0a24'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_BOTTOM = BORDER + \"--bottom\";\nexport var BORDER_SURROUND = BORDER + \"--surround\";\nexport var BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexport var BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { BORDER_SURROUND } from '../utils/constant';\nimport { routeProps, functionalRoute } from '../utils/router'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading'; // Types\n\nvar _createNamespace = createNamespace('button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (props.loading) {\n event.preventDefault();\n }\n\n if (!loading && !disabled) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n }\n\n function onTouchstart(event) {\n emit(ctx, 'touchstart', event);\n }\n\n var classes = [bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (slots.icon) {\n return h(\"div\", {\n \"class\": bem('icon')\n }, [slots.icon()]);\n }\n\n if (icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, _mergeJSXProps([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, inherit(ctx)]), [h(\"div\", {\n \"class\": bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = _extends({}, routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\nexport default createComponent(Button);","import '../../style/base.less';\nimport '../../info/index.less';\nimport '../../icon/index.less';\nimport '../../loading/index.less';\nimport '../index.less';","function flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nexport function sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}"],"sourceRoot":""}