GitBucket
4.6.0
Toggle navigation
Sign in
Files
Branches
1
Tags
Issues
Pull Requests
Labels
Milestones
Wiki
08335
/
hivui-platform-template
hivui平台项目模板
Browse code
geturl
master
1 parent
5ea4e82
commit
6e4f25e0f55295e045eaf6506856975f809384bd
zhuojinhui
authored
on 22 Jul 2022
Showing
4 changed files
assets_platform/eap/eap.common.js.map
assets_platform/eap/eap.umd.js.map
assets_platform/eap/eap.umd.min.js
assets_platform/eap/eap.umd.min.js.map
Ignore Space
Show notes
View
assets_platform/eap/eap.common.js.map
{"version":3,"sources":["webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":[],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,eAAe,mBAAO,CAAC,MAAqB;AAC5C,yBAAyB,mBAAO,CAAC,MAAsB;AACvD,sBAAsB,mBAAO,CAAC,MAAmB;AACjD,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7FA,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,yDAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;ACrCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,MAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;;ACNa;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;ACzBA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,0BAA0B,mBAAO,CAAC,MAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,MAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,MAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;ACjGA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxBa;;AAEb,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;;ACLa;;AAEb;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACrEA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAY;AACnC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA,aAAa,mBAAO,CAAC,MAAW;AAChC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA,YAAY,mBAAO,CAAC,MAAU;AAC9B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAW;AAChC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAS;AAC7B,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAQ;AAC3B,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrKA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;ACVA;AACA;;;;;;;;;;;;;;;;ACDA,eAAe,mBAAO,CAAC,MAAY;AACnC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,MAAa;AACpC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,MAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;ACjCa;;AAEb,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACda;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,oBAAoB,mBAAO,CAAC,MAAiB;AAC7C,eAAe,mBAAO,CAAC,MAAoB;AAC3C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9EA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;;;;;;;;;ACHA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,oC;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,cAAc,mBAAO,CAAC,MAAY;AAClC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChDA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;AACnC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3DA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,KAA4B,IAAI,2BAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,oCAAoC;AACnD,iBAAiB,OAAO;AACxB;AACA,eAAe;AACf,0DAA0D;AAC1D,2DAA2D;AAC3D;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf,+BAA+B;AAC/B;AACA;AACA;AACA,MAAM,mCAAO;AACb;AACA,OAAO;AAAA,oGAAC;AACR;AACA;AACA,CAAC;;;;;;;;;;AC1qBY;;AAEb,oBAAoB,mBAAO,CAAC,MAA0B;AACtD,kBAAkB,mBAAO,CAAC,MAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;ACxBA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;AC9EY;;AAEb,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxDA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;AClBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,+DAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;AC7BA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,IAA0C;AAC/C,EAAE,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACjB;AACA;AACA,KAAK,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,EAAE;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;AClKD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,aAAa,mBAAO,CAAC,MAAkB;AACvC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,oBAAoB,mBAAO,CAAC,MAAuB;AACnD,mBAAmB,mBAAO,CAAC,MAA2B;AACtD,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,kBAAkB,mBAAO,CAAC,MAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACzLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAa,E;;;;;;;ACAtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ea;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACnBa;;AAEb,WAAW,mBAAO,CAAC,MAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9VA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACzBa;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,eAAe,mBAAO,CAAC,MAAa;AACpC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpCa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAgB;AACnC,YAAY,mBAAO,CAAC,MAAc;AAClC,kBAAkB,mBAAO,CAAC,MAAoB;AAC9C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAiB;AACxC,oBAAoB,mBAAO,CAAC,MAAsB;AAClD,iBAAiB,mBAAO,CAAC,MAAmB;;AAE5C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAkB;;AAEzC;;AAEA;AACA;;;;;;;;ACpDA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;ACnCA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;AC7SA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtCA,cAAc,mBAAO,CAAC,MAAW;AACjC,YAAY,mBAAO,CAAC,MAAU;AAC9B,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACxEA,yDAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACjBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ba;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;ACrBJ,sF;;ACAgB;;AAE/B;AACsC;AAC/B;AACP,cAAc,mBAAO;AACrB,YAAY,+FAAW;AACvB;AACA,WAAW,WAAO;AAClB;AACA;AACA;;AAEO;AACP,SAAS,mBAAO;AAChB;;AAEO;AACP,SAAS,mBAAO;AAChB;;;AAGe;AACf;AACA;AACA;AACA,C;;;;;AC1ByB;AACgB;AACO;AAChD;AACA,gBAAgB,eAAK;AACrB,aAAa,2BAA4B;AACzC;AACA,CAAC;AACD;AACA;AACA,sCAAsC,4BAAO;AAC7C,CAAC;AACD;AACA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,2DAA2D,oDAAoD;;AAE/G,sBAAsB,QAAQ;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,oCAAO;AAC1C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,wBAAwB,oCAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,4BAA4B,+BAAU;AACtC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;AACA,yEAAyE;AACzE,KAAK;AACL;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,wBAAwB,+BAAU;AAClC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,CAAC;;AAEc,uDAAO;;;AAGf;AACP,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA,gCAAgC,+BAAU;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oCAAO;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wCAAwC,+BAAU;AAClD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;AC/SA,aAAa,KAAoC,WAAW,SAAK;AACjE,YAAY,KAAoC,gBAAgB,SAAa;AAC9D;AACf;AACA,SAAS,2BAA4B;AACrC;AACA,eAAe,2BAA4B;AAC3C,cAAc,2BAA4B;AAC1C,WAAW,2BAA4B;AACvC,cAAc,2BAA4B;AAC1C,aAAa,2BAA4B;AACzC,cAAc,2BAA4B;AAC1C,eAAe,2BAA4B;AAC3C,eAAe,2BAA4B;AAC3C,YAAY,2BAA4B;AACxC,cAAc,2BAA4B;AAC1C,YAAY,2BAA4B;AACxC,iBAAiB,2BAA4B;AAC7C,qBAAqB,2BAA4B;AACjD,iBAAiB,2BAA4B;AAC7C,iBAAiB,2BAA4B;AAC7C,eAAe,2BAA4B;AAC3C,kBAAkB,2BAA4B;AAC9C,iBAAiB,2BAA4B;AAC7C;AACA,qBAAqB,2BAA4B;AACjD,C;;;ACzByB;AACO;AACuB;AAChB;;AAEvC,IAAI,eAAO,GAAG,WAAI;;AAElB;AACA,IAAI,eAAO;AACX;AACA,2BAA2B,SAAS;AACpC;;AAEA;AACA;AACA,aAAa,GAAG;AAChB;AACO;AACP,gBAAgB,sCAAsC,aAAG;AACzD,iBAAiB,eAAO;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACO;AACP,QAAQ,QAAQ;AAChB;AACA;AACA,SAAS;AACT;AACA,iBAAiB,eAAO;AACxB;AACA;AACA,KAAK;AACL;AACA,QAAQ,WAAW;AACnB,KAAK;AACL;AACA;;AAEA;AACA;AACA,UAAU,K;AACV;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA;;AAEA,KAAK;AACL;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA,aAAa;AACb,KAAK;AACL;;;AAGe;AACf;AACA;AACA;AACA;AACA,C;;AC3FkC;AACN;AACb;AACf,IAAI,qBAAO,CAAC,UAAI;AAChB,C;;ACJe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACV2B;AACF;AACK;AAC9B;AACA,IAAI,oBAAc;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,IAAI,WAAK;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA,yDAAyD,KAAK;AAC9D;AACA;AACA;AACA;AACA,4BAA4B,oBAAc;AAC1C;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,SAAS;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;;AAE9B,YAAY,aAAI,wBAAwB,aAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA,WAAK,mBAAmB,WAAK;AACd,iE;;;ACxlBA;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,C;;;ACtGmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,GAAG;AACH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AACxE;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AAClF;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI;AAC9D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI,WAAW,IAAI,OAAO,IAAI;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;;AAGA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,6CAAI,EAAC;;;;;;;;;;;ACxxBU;;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,gBAAgB;AAChB,6BAA6B;AAC7B,kCAAkC;AAClC,uCAAuC;AACvC,sDAAsD;AACtD,2CAA2C;AAC3C,wDAAwD;AACxD,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,8C;;;AC/PR,MAAM,cAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnZA,WAAW,SAAS;AAC8B;AACnC;AACf;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAM;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yBAAyB,cAAM;AAC/B,gBAAgB,cAAM;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;AC1CwB;AACoB;AACR;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAG;AACZ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA,YAAY,MAAU;;AAEtB;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA,gC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA;AACA,UAAU,MAAU;AACpB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,GAAG;AACH,kBAAkB,qBAAqB;AACvC;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,sDAAsD,SAAS;AAC/D,EAAE;AACF;AACA,wEAAwE;AACxE,wBAAwB;AACxB,6BAA6B;AAC7B,kCAAkC;AAClC,+BAA+B;AAC/B,UAAU;AACV,UAAU;AACV,gBAAgB;AAChB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD,iBAAiB,SAAS;AAC1B,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,YAAY,KAAK,gBAAgB,eAAe,MAAM;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACe,8CAAG;;;;AClWW;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEe,gDAAK,E;;ACjUpB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACe,+C;;;ACtDe;AACI;AACA;AACA;AACN;AACrB,IAAI,UAAI,CAAC,IAAK;AACd,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,GAAG,MAAO;AACpB,IAAI,SAAG,GAAG,OAAI;;AAEN;AACf,QAAQ,mBAAO,qBAAO,qBAAO,kBAAI;AACjC,CAAC,EAAC;;;;;AAKK,aAAa,IAAK;AAClB,eAAe,MAAO;AACtB,eAAe,MAAO;AACtB,iBAAiB,MAAO;AACxB,cAAc,OAAI;;;ACvBE;AACE;AACJ;AACS;AACnB,MAAM,WAAK;AAC1B;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAK;AAC7C;AACA,sC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAK;AAC9B;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAK;AAClC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,MAAM;AACpC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,iBAAK;AACnC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2CAA2C;AAC3E,6BAA6B;AAC7B,gCAAgC,KAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA,mDAAmD,EAAE;AACrD,K;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa,IAAI;AACjB,aAAa,IAAI,yBAAyB,IAAI;AAC9C,aAAa,IAAI,wBAAwB,IAAI;AAC7C,aAAa,IAAI;AACjB,aAAa,IAAI;;AAEjB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,C;;;;;;;;;;ACrP2B;AACA;AACA;AACE;AACO;AACF;AACI;AACb;;;AAGzB;AACA,IAAI,oBAAQ;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+CAA+C;AACzF;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA,+CAA+C,qCAAqC;AACpF;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,IAAI;AACjB,aAAa,IAAI,kCAAkC,IAAI;AACvD,aAAa,IAAI,iCAAiC,IAAI;AACtD;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;;AAEA;AACA;AACA,iBAAiB,IAAI,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEe;AACf,IAAI,kBAAK;AACT,IAAI,wBAAK;AACT,IAAI,YAAK;AACT,IAAI,cAAM;AACV;AACA;AACA,YAAY;AACZ,CAAC;;;;;;;AC7NiC;AACG;AACG;AACjC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,MAAM,yBAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,uBAAuB,mBAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAM;AAC1B,kCAAkC,UAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA,C;;ACxWoC;AACpC;AACA,wBAAwB,oCAAoC;AAC5D;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,4BAA4B;AAChD;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,sBAAsB;AACxC;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB,6BAA6B;AACrD;AACA,yBAAyB,SAAS;AAClC,qBAAqB,QAAQ,gBAAgB,aAAa;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,aAAa,UAAU;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,6BAA6B;AACjD;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,gBAAgB,aAAa;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,iDAAiD;AACrE;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,cAAc,WAAW,YAAY,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5HD;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA,CAAC;;;;ACZsC;AACF;AACA;AACA;;AAEtB;AACf,IAAI,wBAAW;AACf,IAAI,qCAAU;AACd,IAAI,sBAAU;AACd,IAAI,sBAAU;AACd,CAAC;;;ACX8B;AAChB,6DAAU,E;;;ACAzB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC9R2C;AACH;AACxC;AACe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC;AACrD,GAAG;AACH,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC,QAAQ,SAAS,GAAG,cAAc;AACvF;AACA;AACA,EAAE;AACF;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,GAAO;AAC7C;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT,2BAA2B,UAAU;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,qBAAqB,GAAO;AAC5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;AC9G0B;AACM;;AAEjB;AACf,IAAI,QAAG;AACP,cAAc,GAAG;AACjB,cAAc,KAAK;AACnB,gBAAgB,KAAK;AACrB,gBAAgB,KAAK;AACrB,aAAa,KAAK;AAClB,C;;ACVe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,C;;AC1B0C;;;AAG1C,gCAAgC,qCAAqC;AACrE,IAAI,gBAAK,4CAA4C;;;AAGrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;;AAEA,IAAI,qBAAU,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA,MAAM,qBAAU,SAAS,UAAU;AACnC,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEe;AACf,SAAS;AACT,cAAc;AACd,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB,cAAc;;AAEd,C;;;ACpD+B;AACD;;AAEL;AACE;AACF;AACY;AACiB;AACvC,yCAAC,CAAC,UAAI,EAAE,oBAAO,EAAE,gBAAK,EAAE,UAAI,CAAC,0BAAU,EAAE,EAAC;AACzD,YAAY,+FAAW,U;;ACVC;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"eap.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = require(\"ELEMENT\");","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,length) {\r\n\t\tvar carry = 0; //存放进位标志\r\n var num,multiple; //num为原浮点数放大multiple倍后的数,multiple为10的length次方\r\n var str = number + ''; //将调用该方法的数字转为字符串\r\n var dot = str.indexOf(\".\"); //找到小数点的位置\r\n if(str.substr(dot+length+1,1)>=5) carry=1; //找到要进行舍入的数的位置,手动判断是否大于等于5,满足条件进位标志置为1\r\n multiple = Math.pow(10,length); //设置浮点数要扩大的倍数\r\n num = Math.floor(number * multiple) + carry; //去掉舍入位后的所有数,然后加上我们的手动进位数\r\n var result = num/multiple + ''; //将进位后的整数再缩小为原浮点数\r\n /*\r\n * 处理进位后无小数\r\n */\r\n dot = result.indexOf(\".\");\r\n if(dot < 0){\r\n result += '.';\r\n dot = result.indexOf(\".\");\r\n }\r\n /*\r\n * 处理多次进位\r\n */\r\n var len = result.length - (dot+1);\r\n if(len < length){\r\n for(var i = 0; i < length - len; i++){\r\n result += 0;\r\n }\r\n }\r\n return result;\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride',\r\n normalStateVal:\"rsNormal\"\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 常规数据 normal\r\n * @description 新增数据包\r\n * @url normal(data)\r\n * @method $instance.normal(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 190\r\n */\r\n normal(data){\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.normalStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n newUrl = window.HIVUI_SETTING.serverUrl+deployDir+newUrl;\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
{"version":3,"sources":["webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":[],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,eAAe,mBAAO,CAAC,MAAqB;AAC5C,yBAAyB,mBAAO,CAAC,MAAsB;AACvD,sBAAsB,mBAAO,CAAC,MAAmB;AACjD,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7FA,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,yDAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;ACrCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,MAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;;ACNa;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;ACzBA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,0BAA0B,mBAAO,CAAC,MAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,MAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,MAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;ACjGA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxBa;;AAEb,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;;ACLa;;AAEb;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACrEA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAY;AACnC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9CA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA,aAAa,mBAAO,CAAC,MAAW;AAChC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA,YAAY,mBAAO,CAAC,MAAU;AAC9B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAW;AAChC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAS;AAC7B,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAQ;AAC3B,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrKA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;ACVA;AACA;;;;;;;;;;;;;;;;ACDA,eAAe,mBAAO,CAAC,MAAY;AACnC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,MAAa;AACpC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,MAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;ACjCa;;AAEb,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACda;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,oBAAoB,mBAAO,CAAC,MAAiB;AAC7C,eAAe,mBAAO,CAAC,MAAoB;AAC3C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9EA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;;;;;;;;;ACHA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,oC;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,cAAc,mBAAO,CAAC,MAAY;AAClC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChDA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;AACnC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3DA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,KAA4B,IAAI,2BAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,oCAAoC;AACnD,iBAAiB,OAAO;AACxB;AACA,eAAe;AACf,0DAA0D;AAC1D,2DAA2D;AAC3D;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf,+BAA+B;AAC/B;AACA;AACA;AACA,MAAM,mCAAO;AACb;AACA,OAAO;AAAA,oGAAC;AACR;AACA;AACA,CAAC;;;;;;;;;;AC1qBY;;AAEb,oBAAoB,mBAAO,CAAC,MAA0B;AACtD,kBAAkB,mBAAO,CAAC,MAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;ACxBA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;AC9EY;;AAEb,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxDA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;AClBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,+DAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;AC7BA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,IAA0C;AAC/C,EAAE,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACjB;AACA;AACA,KAAK,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,EAAE;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;AClKD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,aAAa,mBAAO,CAAC,MAAkB;AACvC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,oBAAoB,mBAAO,CAAC,MAAuB;AACnD,mBAAmB,mBAAO,CAAC,MAA2B;AACtD,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,kBAAkB,mBAAO,CAAC,MAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACzLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAa,E;;;;;;;ACAtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ea;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACnBa;;AAEb,WAAW,mBAAO,CAAC,MAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9VA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACzBa;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,eAAe,mBAAO,CAAC,MAAa;AACpC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpCa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAgB;AACnC,YAAY,mBAAO,CAAC,MAAc;AAClC,kBAAkB,mBAAO,CAAC,MAAoB;AAC9C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAiB;AACxC,oBAAoB,mBAAO,CAAC,MAAsB;AAClD,iBAAiB,mBAAO,CAAC,MAAmB;;AAE5C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAkB;;AAEzC;;AAEA;AACA;;;;;;;;ACpDA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;ACnCA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;AC7SA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtCA,cAAc,mBAAO,CAAC,MAAW;AACjC,YAAY,mBAAO,CAAC,MAAU;AAC9B,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACxEA,yDAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACjBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ba;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;ACrBJ,sF;;ACAgB;;AAE/B;AACsC;AAC/B;AACP,cAAc,mBAAO;AACrB,YAAY,+FAAW;AACvB;AACA,WAAW,WAAO;AAClB;AACA;AACA;;AAEO;AACP,SAAS,mBAAO;AAChB;;AAEO;AACP,SAAS,mBAAO;AAChB;;;AAGe;AACf;AACA;AACA;AACA,C;;;;;AC1ByB;AACgB;AACO;AAChD;AACA,gBAAgB,eAAK;AACrB,aAAa,2BAA4B;AACzC;AACA,CAAC;AACD;AACA;AACA,sCAAsC,4BAAO;AAC7C,CAAC;AACD;AACA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,2DAA2D,oDAAoD;;AAE/G,sBAAsB,QAAQ;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,oCAAO;AAC1C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,wBAAwB,oCAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,4BAA4B,+BAAU;AACtC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;AACA,yEAAyE;AACzE,KAAK;AACL;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,wBAAwB,+BAAU;AAClC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,CAAC;;AAEc,uDAAO;;;AAGf;AACP,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA,gCAAgC,+BAAU;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oCAAO;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wCAAwC,+BAAU;AAClD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;AC/SA,aAAa,KAAoC,WAAW,SAAK;AACjE,YAAY,KAAoC,gBAAgB,SAAa;AAC9D;AACf;AACA,SAAS,2BAA4B;AACrC;AACA,eAAe,2BAA4B;AAC3C,cAAc,2BAA4B;AAC1C,WAAW,2BAA4B;AACvC,cAAc,2BAA4B;AAC1C,aAAa,2BAA4B;AACzC,cAAc,2BAA4B;AAC1C,eAAe,2BAA4B;AAC3C,eAAe,2BAA4B;AAC3C,YAAY,2BAA4B;AACxC,cAAc,2BAA4B;AAC1C,YAAY,2BAA4B;AACxC,iBAAiB,2BAA4B;AAC7C,qBAAqB,2BAA4B;AACjD,iBAAiB,2BAA4B;AAC7C,iBAAiB,2BAA4B;AAC7C,eAAe,2BAA4B;AAC3C,kBAAkB,2BAA4B;AAC9C,iBAAiB,2BAA4B;AAC7C;AACA,qBAAqB,2BAA4B;AACjD,C;;;ACzByB;AACO;AACuB;AAChB;;AAEvC,IAAI,eAAO,GAAG,WAAI;;AAElB;AACA,IAAI,eAAO;AACX;AACA,2BAA2B,SAAS;AACpC;;AAEA;AACA;AACA,aAAa,GAAG;AAChB;AACO;AACP,gBAAgB,sCAAsC,aAAG;AACzD,iBAAiB,eAAO;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACO;AACP,QAAQ,QAAQ;AAChB;AACA;AACA,SAAS;AACT;AACA,iBAAiB,eAAO;AACxB;AACA;AACA,KAAK;AACL;AACA,QAAQ,WAAW;AACnB,KAAK;AACL;AACA;;AAEA;AACA;AACA,UAAU,K;AACV;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA;;AAEA,KAAK;AACL;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA,aAAa;AACb,KAAK;AACL;;;AAGe;AACf;AACA;AACA;AACA;AACA,C;;AC3FkC;AACN;AACb;AACf,IAAI,qBAAO,CAAC,UAAI;AAChB,C;;ACJe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACV2B;AACF;AACK;AAC9B;AACA,IAAI,oBAAc;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,IAAI,WAAK;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA,yDAAyD,KAAK;AAC9D;AACA;AACA;AACA;AACA,4BAA4B,oBAAc;AAC1C;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,SAAS;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;;AAE9B,YAAY,aAAI,wBAAwB,aAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA,WAAK,mBAAmB,WAAK;AACd,iE;;;ACxlBA;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,C;;;ACtGmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,GAAG;AACH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AACxE;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AAClF;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI;AAC9D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI,WAAW,IAAI,OAAO,IAAI;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;;AAGA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,6CAAI,EAAC;;;;;;;;;;;ACxxBU;;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA,QAAQ,iBAAQ;AAChB;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,mDAAmD,UAAU;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,kD;;;ACrQR,MAAM,cAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnZA,WAAW,SAAS;AAC8B;AACnC;AACf;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAM;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yBAAyB,cAAM;AAC/B,gBAAgB,cAAM;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;AC1CwB;AACoB;AACR;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAG;AACZ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA,YAAY,MAAU;;AAEtB;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA,gC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA;AACA,UAAU,MAAU;AACpB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,GAAG;AACH,kBAAkB,qBAAqB;AACvC;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,sDAAsD,SAAS;AAC/D,EAAE;AACF;AACA,wEAAwE;AACxE,wBAAwB;AACxB,6BAA6B;AAC7B,kCAAkC;AAClC,+BAA+B;AAC/B,UAAU;AACV,UAAU;AACV,gBAAgB;AAChB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD,iBAAiB,SAAS;AAC1B,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,YAAY,KAAK,gBAAgB,eAAe,MAAM;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACe,8CAAG;;;;AClWW;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEe,gDAAK,E;;ACjUpB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACe,+C;;;ACtDe;AACI;AACA;AACA;AACN;AACrB,IAAI,UAAI,CAAC,IAAK;AACd,IAAI,YAAM,CAAC,UAAO;AAClB,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,GAAG,MAAO;AACpB,IAAI,SAAG,GAAG,OAAI;;AAEN;AACf,QAAQ,mBAAO,qBAAO,qBAAO,kBAAI;AACjC,CAAC,EAAC;;;;;AAKK,aAAa,IAAK;AAClB,eAAe,UAAO;AACtB,eAAe,MAAO;AACtB,iBAAiB,MAAO;AACxB,cAAc,OAAI;;;ACvBE;AACE;AACJ;AACS;AACnB,MAAM,WAAK;AAC1B;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAK;AAC7C;AACA,sC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAK;AAC9B;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAK;AAClC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,MAAM;AACpC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,iBAAK;AACnC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2CAA2C;AAC3E,6BAA6B;AAC7B,gCAAgC,KAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA,mDAAmD,EAAE;AACrD,K;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa,IAAI;AACjB,aAAa,IAAI,yBAAyB,IAAI;AAC9C,aAAa,IAAI,wBAAwB,IAAI;AAC7C,aAAa,IAAI;AACjB,aAAa,IAAI;;AAEjB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,C;;;;;;;;;;ACrP2B;AACA;AACA;AACE;AACO;AACF;AACI;AACb;;;AAGzB;AACA,IAAI,oBAAQ;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+CAA+C;AACzF;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA,+CAA+C,qCAAqC;AACpF;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,IAAI;AACjB,aAAa,IAAI,kCAAkC,IAAI;AACvD,aAAa,IAAI,iCAAiC,IAAI;AACtD;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;;AAEA;AACA;AACA,iBAAiB,IAAI,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEe;AACf,IAAI,kBAAK;AACT,IAAI,wBAAK;AACT,IAAI,YAAK;AACT,IAAI,cAAM;AACV;AACA;AACA,YAAY;AACZ,CAAC;;;;;;;AC7NiC;AACG;AACG;AACjC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,MAAM,yBAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,uBAAuB,mBAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAM;AAC1B,kCAAkC,UAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA,C;;ACnVoC;AACpC;AACA,wBAAwB,oCAAoC;AAC5D;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,4BAA4B;AAChD;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,sBAAsB;AACxC;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB,6BAA6B;AACrD;AACA,yBAAyB,SAAS;AAClC,qBAAqB,QAAQ,gBAAgB,aAAa;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,aAAa,UAAU;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,6BAA6B;AACjD;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,gBAAgB,aAAa;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,iDAAiD;AACrE;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,cAAc,WAAW,YAAY,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5HD;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA,CAAC;;;;ACZsC;AACF;AACA;AACA;;AAEtB;AACf,IAAI,wBAAW;AACf,IAAI,qCAAU;AACd,IAAI,sBAAU;AACd,IAAI,sBAAU;AACd,CAAC;;;ACX8B;AAChB,6DAAU,E;;;ACAzB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC9R2C;AACH;AACxC;AACe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC;AACrD,GAAG;AACH,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC,QAAQ,SAAS,GAAG,cAAc;AACvF;AACA;AACA,EAAE;AACF;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,GAAO;AAC7C;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT,2BAA2B,UAAU;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,qBAAqB,GAAO;AAC5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,C;;AC9G0B;AACM;;AAEjB;AACf,IAAI,QAAG;AACP,cAAc,GAAG;AACjB,cAAc,KAAK;AACnB,gBAAgB,KAAK;AACrB,gBAAgB,KAAK;AACrB,aAAa,KAAK;AAClB,C;;ACVe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,C;;AC1B0C;;;AAG1C,gCAAgC,qCAAqC;AACrE,IAAI,gBAAK,4CAA4C;;;AAGrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;;AAEA,IAAI,qBAAU,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA,MAAM,qBAAU,SAAS,UAAU;AACnC,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEe;AACf,SAAS;AACT,cAAc;AACd,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB,cAAc;;AAEd,C;;;ACpD+B;AACD;;AAEL;AACE;AACF;AACY;AACiB;AACvC,yCAAC,CAAC,UAAI,EAAE,oBAAO,EAAE,gBAAK,EAAE,UAAI,CAAC,0BAAU,EAAE,EAAC;AACzD,YAAY,+FAAW,U;;ACVC;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"eap.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = require(\"ELEMENT\");","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,d) {\r\n\t\tif (d < 0) {\r\n\t\t\td = 0;\r\n\t\t}\r\n\t\tlet s = number + \"\";\r\n\t\tif (!d)\r\n\t\t\td = 0;\r\n\t\tif (s.indexOf(\".\") == -1)\r\n\t\t\ts += \".\";\r\n\t\ts += new Array(d + 1).join(\"0\");\r\n\t\tif (new RegExp(\"^(-|\\\\+)?(\\\\d+(\\\\.\\\\d{0,\" + (d + 1) + \"})?)\\\\d*$\").test(s)) {\r\n\t\t\tlet ss = \"0\" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true;\r\n\t\t\tif (a == d + 2) {\r\n\t\t\t\ta = statSync.match(/\\d/g);\r\n\t\t\t\tif (parseInt(a[a.length - 1]) > 4) {\r\n\t\t\t\t\tfor (let i = a.length - 2; i >= 0; i--) {\r\n\t\t\t\t\t\ta[i] = parseInt(a[i]) + 1;\r\n\t\t\t\t\t\tif (a[i] == 10) {\r\n\t\t\t\t\t\t\ta[i] = 0;\r\n\t\t\t\t\t\t\tb = i != 1;\r\n\t\t\t\t\t\t} else\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tss = a.join(\"\").replace(new RegExp(\"(\\\\d+)(\\\\d{\" + d + \"})\\\\d$\"),\r\n\t\t\t\t\t\t\"$1.$2\");\r\n\t\r\n\t\t\t}\r\n\t\t\tif (b)\r\n\t\t\t\tss = s.substr(1);\r\n\t\t\treturn (pm + ss).replace(/\\.$/, \"\");\r\n\t\t}\r\n\t\treturn this + \"\";\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride'\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
Ignore Space
Show notes
View
assets_platform/eap/eap.umd.js.map
{"version":3,"sources":["webpack://eap/webpack/universalModuleDefinition","webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,eAAe,mBAAO,CAAC,MAAqB;AAC5C,yBAAyB,mBAAO,CAAC,MAAsB;AACvD,sBAAsB,mBAAO,CAAC,MAAmB;AACjD,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7FA,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,yDAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;ACrCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,MAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;;ACNa;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;ACzBA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,0BAA0B,mBAAO,CAAC,MAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,MAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,MAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;ACjGA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxBa;;AAEb,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;;ACLa;;AAEb;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACrEA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrKA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;ACVA;AACA;;;;;;;;;;;;;;;;ACDA,eAAe,mBAAO,CAAC,MAAY;AACnC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,MAAa;AACpC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,MAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;ACjCa;;AAEb,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACda;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,oBAAoB,mBAAO,CAAC,MAAiB;AAC7C,eAAe,mBAAO,CAAC,MAAoB;AAC3C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9EA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;;;;;;;;;ACHA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,mD;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,cAAc,mBAAO,CAAC,MAAY;AAClC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChDA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;AACnC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3DA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,KAA4B,IAAI,2BAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,oCAAoC;AACnD,iBAAiB,OAAO;AACxB;AACA,eAAe;AACf,0DAA0D;AAC1D,2DAA2D;AAC3D;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf,+BAA+B;AAC/B;AACA;AACA;AACA,MAAM,mCAAO;AACb;AACA,OAAO;AAAA,oGAAC;AACR;AACA;AACA,CAAC;;;;;;;;;;AC1qBY;;AAEb,oBAAoB,mBAAO,CAAC,MAA0B;AACtD,kBAAkB,mBAAO,CAAC,MAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;ACxBA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;AC9EY;;AAEb,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxDA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;AClBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,+DAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;AC7BA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,IAA0C;AAC/C,EAAE,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACjB;AACA;AACA,KAAK,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,EAAE;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;AClKD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,aAAa,mBAAO,CAAC,MAAkB;AACvC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,oBAAoB,mBAAO,CAAC,MAAuB;AACnD,mBAAmB,mBAAO,CAAC,MAA2B;AACtD,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,kBAAkB,mBAAO,CAAC,MAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACzLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAa,E;;;;;;;ACAtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ea;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACnBa;;AAEb,WAAW,mBAAO,CAAC,MAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9VA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACzBa;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,eAAe,mBAAO,CAAC,MAAa;AACpC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpCa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAgB;AACnC,YAAY,mBAAO,CAAC,MAAc;AAClC,kBAAkB,mBAAO,CAAC,MAAoB;AAC9C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAiB;AACxC,oBAAoB,mBAAO,CAAC,MAAsB;AAClD,iBAAiB,mBAAO,CAAC,MAAmB;;AAE5C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAkB;;AAEzC;;AAEA;AACA;;;;;;;;ACpDA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;ACnCA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;AC7SA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtCA,cAAc,mBAAO,CAAC,MAAW;AACjC,YAAY,mBAAO,CAAC,MAAU;AAC9B,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACxEA,yDAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACjBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ba;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;ACrBJ,sF;;ACAgB;;AAE/B;AACsC;AAC/B;AACP,cAAc,mBAAO;AACrB,YAAY,+FAAW;AACvB;AACA,WAAW,WAAO;AAClB;AACA;AACA;;AAEO;AACP,SAAS,mBAAO;AAChB;;AAEO;AACP,SAAS,mBAAO;AAChB;;;AAGe;AACf;AACA;AACA;AACA,C;;;;;AC1ByB;AACgB;AACO;AAChD;AACA,gBAAgB,eAAK;AACrB,aAAa,2BAA4B;AACzC;AACA,CAAC;AACD;AACA;AACA,sCAAsC,4BAAO;AAC7C,CAAC;AACD;AACA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,2DAA2D,oDAAoD;;AAE/G,sBAAsB,QAAQ;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,oCAAO;AAC1C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,wBAAwB,oCAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,4BAA4B,+BAAU;AACtC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;AACA,yEAAyE;AACzE,KAAK;AACL;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,wBAAwB,+BAAU;AAClC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,CAAC;;AAEc,uDAAO;;;AAGf;AACP,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA,gCAAgC,+BAAU;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oCAAO;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wCAAwC,+BAAU;AAClD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;AC/SA,aAAa,KAAoC,WAAW,SAAK;AACjE,YAAY,KAAoC,gBAAgB,SAAa;AAC9D;AACf;AACA,SAAS,2BAA4B;AACrC;AACA,eAAe,2BAA4B;AAC3C,cAAc,2BAA4B;AAC1C,WAAW,2BAA4B;AACvC,cAAc,2BAA4B;AAC1C,aAAa,2BAA4B;AACzC,cAAc,2BAA4B;AAC1C,eAAe,2BAA4B;AAC3C,eAAe,2BAA4B;AAC3C,YAAY,2BAA4B;AACxC,cAAc,2BAA4B;AAC1C,YAAY,2BAA4B;AACxC,iBAAiB,2BAA4B;AAC7C,qBAAqB,2BAA4B;AACjD,iBAAiB,2BAA4B;AAC7C,iBAAiB,2BAA4B;AAC7C,eAAe,2BAA4B;AAC3C,kBAAkB,2BAA4B;AAC9C,iBAAiB,2BAA4B;AAC7C;AACA,qBAAqB,2BAA4B;AACjD,C;;;ACzByB;AACO;AACuB;AAChB;;AAEvC,IAAI,eAAO,GAAG,WAAI;;AAElB;AACA,IAAI,eAAO;AACX;AACA,2BAA2B,SAAS;AACpC;;AAEA;AACA;AACA,aAAa,GAAG;AAChB;AACO;AACP,gBAAgB,sCAAsC,aAAG;AACzD,iBAAiB,eAAO;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACO;AACP,QAAQ,QAAQ;AAChB;AACA;AACA,SAAS;AACT;AACA,iBAAiB,eAAO;AACxB;AACA;AACA,KAAK;AACL;AACA,QAAQ,WAAW;AACnB,KAAK;AACL;AACA;;AAEA;AACA;AACA,UAAU,K;AACV;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA;;AAEA,KAAK;AACL;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA,aAAa;AACb,KAAK;AACL;;;AAGe;AACf;AACA;AACA;AACA;AACA,C;;AC3FkC;AACN;AACb;AACf,IAAI,qBAAO,CAAC,UAAI;AAChB,C;;ACJe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACV2B;AACF;AACK;AAC9B;AACA,IAAI,oBAAc;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,IAAI,WAAK;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA,yDAAyD,KAAK;AAC9D;AACA;AACA;AACA;AACA,4BAA4B,oBAAc;AAC1C;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,SAAS;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;;AAE9B,YAAY,aAAI,wBAAwB,aAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA,WAAK,mBAAmB,WAAK;AACd,iE;;;ACxlBA;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,C;;;ACtGmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,GAAG;AACH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AACxE;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AAClF;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI;AAC9D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI,WAAW,IAAI,OAAO,IAAI;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;;AAGA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,6CAAI,EAAC;;;;;;;;;;;ACxxBU;;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,gBAAgB;AAChB,6BAA6B;AAC7B,kCAAkC;AAClC,uCAAuC;AACvC,sDAAsD;AACtD,2CAA2C;AAC3C,wDAAwD;AACxD,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,8C;;;AC/PR,MAAM,cAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnZA,WAAW,SAAS;AAC8B;AACnC;AACf;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAM;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yBAAyB,cAAM;AAC/B,gBAAgB,cAAM;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;AC1CwB;AACoB;AACR;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAG;AACZ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA,YAAY,MAAU;;AAEtB;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA,gC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA;AACA,UAAU,MAAU;AACpB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,GAAG;AACH,kBAAkB,qBAAqB;AACvC;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,sDAAsD,SAAS;AAC/D,EAAE;AACF;AACA,wEAAwE;AACxE,wBAAwB;AACxB,6BAA6B;AAC7B,kCAAkC;AAClC,+BAA+B;AAC/B,UAAU;AACV,UAAU;AACV,gBAAgB;AAChB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD,iBAAiB,SAAS;AAC1B,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,YAAY,KAAK,gBAAgB,eAAe,MAAM;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACe,8CAAG;;;;AClWW;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEe,gDAAK,E;;ACjUpB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACe,+C;;;ACtDe;AACI;AACA;AACA;AACN;AACrB,IAAI,UAAI,CAAC,IAAK;AACd,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,GAAG,MAAO;AACpB,IAAI,SAAG,GAAG,OAAI;;AAEN;AACf,QAAQ,mBAAO,qBAAO,qBAAO,kBAAI;AACjC,CAAC,EAAC;;;;;AAKK,aAAa,IAAK;AAClB,eAAe,MAAO;AACtB,eAAe,MAAO;AACtB,iBAAiB,MAAO;AACxB,cAAc,OAAI;;;ACvBE;AACE;AACJ;AACS;AACnB,MAAM,WAAK;AAC1B;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAK;AAC7C;AACA,sC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAK;AAC9B;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAK;AAClC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,MAAM;AACpC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,iBAAK;AACnC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2CAA2C;AAC3E,6BAA6B;AAC7B,gCAAgC,KAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA,mDAAmD,EAAE;AACrD,K;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa,IAAI;AACjB,aAAa,IAAI,yBAAyB,IAAI;AAC9C,aAAa,IAAI,wBAAwB,IAAI;AAC7C,aAAa,IAAI;AACjB,aAAa,IAAI;;AAEjB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,C;;;;;;;;;;ACrP2B;AACA;AACA;AACE;AACO;AACF;AACI;AACb;;;AAGzB;AACA,IAAI,oBAAQ;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+CAA+C;AACzF;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA,+CAA+C,qCAAqC;AACpF;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,IAAI;AACjB,aAAa,IAAI,kCAAkC,IAAI;AACvD,aAAa,IAAI,iCAAiC,IAAI;AACtD;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;;AAEA;AACA;AACA,iBAAiB,IAAI,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEe;AACf,IAAI,kBAAK;AACT,IAAI,wBAAK;AACT,IAAI,YAAK;AACT,IAAI,cAAM;AACV;AACA;AACA,YAAY;AACZ,CAAC;;;;;;;AC7NiC;AACG;AACG;AACjC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,MAAM,yBAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,uBAAuB,mBAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAM;AAC1B,kCAAkC,UAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA,C;;ACxWoC;AACpC;AACA,wBAAwB,oCAAoC;AAC5D;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,4BAA4B;AAChD;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,sBAAsB;AACxC;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB,6BAA6B;AACrD;AACA,yBAAyB,SAAS;AAClC,qBAAqB,QAAQ,gBAAgB,aAAa;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,aAAa,UAAU;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,6BAA6B;AACjD;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,gBAAgB,aAAa;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,iDAAiD;AACrE;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,cAAc,WAAW,YAAY,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5HD;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA,CAAC;;;;ACZsC;AACF;AACA;AACA;;AAEtB;AACf,IAAI,wBAAW;AACf,IAAI,qCAAU;AACd,IAAI,sBAAU;AACd,IAAI,sBAAU;AACd,CAAC;;;ACX8B;AAChB,6DAAU,E;;;ACAzB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC9R2C;AACH;AACxC;AACe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC;AACrD,GAAG;AACH,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC,QAAQ,SAAS,GAAG,cAAc;AACvF;AACA;AACA,EAAE;AACF;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,GAAO;AAC7C;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT,2BAA2B,UAAU;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,qBAAqB,GAAO;AAC5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;AC9G0B;AACM;;AAEjB;AACf,IAAI,QAAG;AACP,cAAc,GAAG;AACjB,cAAc,KAAK;AACnB,gBAAgB,KAAK;AACrB,gBAAgB,KAAK;AACrB,aAAa,KAAK;AAClB,C;;ACVe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,C;;AC1B0C;;;AAG1C,gCAAgC,qCAAqC;AACrE,IAAI,gBAAK,4CAA4C;;;AAGrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;;AAEA,IAAI,qBAAU,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA,MAAM,qBAAU,SAAS,UAAU;AACnC,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEe;AACf,SAAS;AACT,cAAc;AACd,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB,cAAc;;AAEd,C;;;ACpD+B;AACD;;AAEL;AACE;AACF;AACY;AACiB;AACvC,yCAAC,CAAC,UAAI,EAAE,oBAAO,EAAE,gBAAK,EAAE,UAAI,CAAC,0BAAU,EAAE,EAAC;AACzD,YAAY,+FAAW,U;;ACVC;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"eap.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"ELEMENT\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"ELEMENT\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"eap\"] = factory(require(\"ELEMENT\"));\n\telse\n\t\troot[\"eap\"] = factory(root[\"ELEMENT\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5f72__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,length) {\r\n\t\tvar carry = 0; //存放进位标志\r\n var num,multiple; //num为原浮点数放大multiple倍后的数,multiple为10的length次方\r\n var str = number + ''; //将调用该方法的数字转为字符串\r\n var dot = str.indexOf(\".\"); //找到小数点的位置\r\n if(str.substr(dot+length+1,1)>=5) carry=1; //找到要进行舍入的数的位置,手动判断是否大于等于5,满足条件进位标志置为1\r\n multiple = Math.pow(10,length); //设置浮点数要扩大的倍数\r\n num = Math.floor(number * multiple) + carry; //去掉舍入位后的所有数,然后加上我们的手动进位数\r\n var result = num/multiple + ''; //将进位后的整数再缩小为原浮点数\r\n /*\r\n * 处理进位后无小数\r\n */\r\n dot = result.indexOf(\".\");\r\n if(dot < 0){\r\n result += '.';\r\n dot = result.indexOf(\".\");\r\n }\r\n /*\r\n * 处理多次进位\r\n */\r\n var len = result.length - (dot+1);\r\n if(len < length){\r\n for(var i = 0; i < length - len; i++){\r\n result += 0;\r\n }\r\n }\r\n return result;\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride',\r\n normalStateVal:\"rsNormal\"\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 常规数据 normal\r\n * @description 新增数据包\r\n * @url normal(data)\r\n * @method $instance.normal(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 190\r\n */\r\n normal(data){\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.normalStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n newUrl = window.HIVUI_SETTING.serverUrl+deployDir+newUrl;\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
{"version":3,"sources":["webpack://eap/webpack/universalModuleDefinition","webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,eAAe,mBAAO,CAAC,MAAqB;AAC5C,yBAAyB,mBAAO,CAAC,MAAsB;AACvD,sBAAsB,mBAAO,CAAC,MAAmB;AACjD,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;AC7FA,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,yDAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;ACrCa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,oBAAoB,mBAAO,CAAC,MAAkB;;AAE9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC9BA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;;ACNa;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;;;;;;;;ACzBA,+CAAa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,0BAA0B,mBAAO,CAAC,MAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,MAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,MAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;ACjGA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACxBa;;AAEb,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;ACjBA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;;ACLa;;AAEb;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACrEA,iBAAiB,mBAAO,CAAC,MAAc;AACvC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;ACrKA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB,OAAO,SAAS;AACjC,yBAAyB,gBAAgB,SAAS,GAAG;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACzCa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;ACnEA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;ACVA;AACA;;;;;;;;;;;;;;;;ACDA,eAAe,mBAAO,CAAC,MAAY;AACnC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChCA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,eAAe,mBAAO,CAAC,MAAa;AACpC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,cAAc,mBAAO,CAAC,MAAY;AAClC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,0BAA0B,mBAAO,CAAC,MAAM;AACxC;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;ACjCa;;AAEb,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACda;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;;;;;;;ACtFA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,oBAAoB,mBAAO,CAAC,MAAiB;AAC7C,eAAe,mBAAO,CAAC,MAAoB;AAC3C,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC9EA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;;;;;;;;;ACHA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,mD;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;;AAEA;;;;;;;;ACLA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;ACzBA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;AACnC,cAAc,mBAAO,CAAC,MAAY;AAClC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AChDA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;AACnC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3DA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACtBa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;ACpDA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,cAAc,mBAAO,CAAC,MAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;AACpC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,YAAY,KAA4B,IAAI,2BAAU;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe,IAAI;AACnB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,oCAAoC;AACnD,iBAAiB,OAAO;AACxB;AACA,eAAe;AACf,0DAA0D;AAC1D,2DAA2D;AAC3D;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe;AACf,+BAA+B;AAC/B;AACA;AACA;AACA,MAAM,mCAAO;AACb;AACA,OAAO;AAAA,oGAAC;AACR;AACA;AACA,CAAC;;;;;;;;;;AC1qBY;;AAEb,oBAAoB,mBAAO,CAAC,MAA0B;AACtD,kBAAkB,mBAAO,CAAC,MAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA,qBAAqB,mBAAO,CAAC,MAAmB;;AAEhD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;;;;;;;;ACxBA;AACA;AACA;;AAEA;;AAEA;AACA,MAAM,IAA0C;AAChD,IAAI,iCAAO,EAAE,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AACvB,GAAG,MAAM,EAIN;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,+DAA+D,qBAAqB;AACpF;AACA;;AAEA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;AC9EY;;AAEb,aAAa,mBAAO,CAAC,MAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxDA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvCA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;AClBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,+DAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;AC7BA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,iBAAiB,mBAAO,CAAC,MAAe;AACxC,gBAAgB,mBAAO,CAAC,MAAa;;AAErC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,aAAa,mBAAO,CAAC,MAAW;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,IAA0C;AAC/C,EAAE,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,oGAAC;AACjB;AACA;AACA,KAAK,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,QAAQ,sBAAsB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,EAAE;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D;AAC3D;;AAEA,SAAS,oBAAoB;AAC7B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;AClKD,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,iBAAiB,mBAAO,CAAC,MAAe;AACxC,WAAW,mBAAO,CAAC,MAAQ;;AAE3B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACbA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACjBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;AClBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;AAChC,aAAa,mBAAO,CAAC,MAAkB;AACvC,cAAc,mBAAO,CAAC,MAAsB;AAC5C,eAAe,mBAAO,CAAC,MAAuB;AAC9C,oBAAoB,mBAAO,CAAC,MAAuB;AACnD,mBAAmB,mBAAO,CAAC,MAA2B;AACtD,sBAAsB,mBAAO,CAAC,MAA8B;AAC5D,kBAAkB,mBAAO,CAAC,MAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;ACzLA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7BA,iBAAiB,mBAAO,CAAC,MAAa,E;;;;;;;ACAtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACxBA,uBAAuB,mBAAO,CAAC,MAAqB;AACpD,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,sBAAsB,mBAAO,CAAC,MAAoB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ea;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;ACpDA,aAAa,mBAAO,CAAC,MAAW;AAChC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;ACnBa;;AAEb,WAAW,mBAAO,CAAC,MAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4BAA4B;AAC5B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9VA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACNA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACzBa;;AAEb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACXA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;ACnBA,uBAAuB,mBAAO,CAAC,MAAqB;;AAEpD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAM;;AAEvB;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1BA,aAAa,mBAAO,CAAC,MAAW;AAChC,eAAe,mBAAO,CAAC,MAAa;AACpC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACpCa;;AAEb,YAAY,mBAAO,CAAC,MAAS;AAC7B,WAAW,mBAAO,CAAC,MAAgB;AACnC,YAAY,mBAAO,CAAC,MAAc;AAClC,kBAAkB,mBAAO,CAAC,MAAoB;AAC9C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,MAAiB;AACxC,oBAAoB,mBAAO,CAAC,MAAsB;AAClD,iBAAiB,mBAAO,CAAC,MAAmB;;AAE5C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAkB;;AAEzC;;AAEA;AACA;;;;;;;;ACpDA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtBA,sBAAsB,mBAAO,CAAC,MAAoB;AAClD,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;;;;;;;;ACnCA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC1Ba;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA,WAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA;;AAEA;;;;;;;;ACLA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;;;;;;;ACzBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,8BAA8B;AAClE;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;AC7SA,gBAAgB,mBAAO,CAAC,MAAc;AACtC,iBAAiB,mBAAO,CAAC,MAAe;AACxC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/BA,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;AACzC,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,eAAe,mBAAO,CAAC,MAAY;AACnC,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACtCA,cAAc,mBAAO,CAAC,MAAW;AACjC,YAAY,mBAAO,CAAC,MAAU;AAC9B,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,eAAe,mBAAO,CAAC,MAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACxEA,yDAAW,mBAAO,CAAC,MAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;AClCa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACbA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACjBA,oBAAoB,mBAAO,CAAC,MAAkB;AAC9C,eAAe,mBAAO,CAAC,MAAa;AACpC,kBAAkB,mBAAO,CAAC,MAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,MAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACdA,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBA,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAY;;AAEnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5Ba;;AAEb,YAAY,mBAAO,CAAC,MAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;ACnDA,iBAAiB,mBAAO,CAAC,MAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAiB;AAC5C,kBAAkB,mBAAO,CAAC,MAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;ACjBA;;AAEA;AACA;AACA,MAAM,IAAuC;AAC7C,2BAA2B,mBAAO,CAAC,MAA0B;AAC7D;;AAEA;AACA;AACA,wDAAwD,wBAAwB;AAChF;AACA;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;ACrBJ,sF;;ACAgB;;AAE/B;AACsC;AAC/B;AACP,cAAc,mBAAO;AACrB,YAAY,+FAAW;AACvB;AACA,WAAW,WAAO;AAClB;AACA;AACA;;AAEO;AACP,SAAS,mBAAO;AAChB;;AAEO;AACP,SAAS,mBAAO;AAChB;;;AAGe;AACf;AACA;AACA;AACA,C;;;;;AC1ByB;AACgB;AACO;AAChD;AACA,gBAAgB,eAAK;AACrB,aAAa,2BAA4B;AACzC;AACA,CAAC;AACD;AACA;AACA,sCAAsC,4BAAO;AAC7C,CAAC;AACD;AACA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,2DAA2D,oDAAoD;;AAE/G,sBAAsB,QAAQ;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,oCAAO;AAC1C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,wBAAwB,oCAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,4BAA4B,+BAAU;AACtC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;AACA,yEAAyE;AACzE,KAAK;AACL;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,wBAAwB,+BAAU;AAClC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,CAAC;;AAEc,uDAAO;;;AAGf;AACP,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oCAAO;AACnC;AACA;AACA;AACA,aAAa;AACb;AACA,gCAAgC,+BAAU;AAC1C;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oCAAO;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB;AACA,wCAAwC,+BAAU;AAClD;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;AC/SA,aAAa,KAAoC,WAAW,SAAK;AACjE,YAAY,KAAoC,gBAAgB,SAAa;AAC9D;AACf;AACA,SAAS,2BAA4B;AACrC;AACA,eAAe,2BAA4B;AAC3C,cAAc,2BAA4B;AAC1C,WAAW,2BAA4B;AACvC,cAAc,2BAA4B;AAC1C,aAAa,2BAA4B;AACzC,cAAc,2BAA4B;AAC1C,eAAe,2BAA4B;AAC3C,eAAe,2BAA4B;AAC3C,YAAY,2BAA4B;AACxC,cAAc,2BAA4B;AAC1C,YAAY,2BAA4B;AACxC,iBAAiB,2BAA4B;AAC7C,qBAAqB,2BAA4B;AACjD,iBAAiB,2BAA4B;AAC7C,iBAAiB,2BAA4B;AAC7C,eAAe,2BAA4B;AAC3C,kBAAkB,2BAA4B;AAC9C,iBAAiB,2BAA4B;AAC7C;AACA,qBAAqB,2BAA4B;AACjD,C;;;ACzByB;AACO;AACuB;AAChB;;AAEvC,IAAI,eAAO,GAAG,WAAI;;AAElB;AACA,IAAI,eAAO;AACX;AACA,2BAA2B,SAAS;AACpC;;AAEA;AACA;AACA,aAAa,GAAG;AAChB;AACO;AACP,gBAAgB,sCAAsC,aAAG;AACzD,iBAAiB,eAAO;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACO;AACP,QAAQ,QAAQ;AAChB;AACA;AACA,SAAS;AACT;AACA,iBAAiB,eAAO;AACxB;AACA;AACA,KAAK;AACL;AACA,QAAQ,WAAW;AACnB,KAAK;AACL;AACA;;AAEA;AACA;AACA,UAAU,K;AACV;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA;;AAEA,KAAK;AACL;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP,WAAW,eAAO;AAClB;AACA;AACA,aAAa;AACb,KAAK;AACL;;;AAGe;AACf;AACA;AACA;AACA;AACA,C;;AC3FkC;AACN;AACb;AACf,IAAI,qBAAO,CAAC,UAAI;AAChB,C;;ACJe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;ACV2B;AACF;AACK;AAC9B;AACA,IAAI,oBAAc;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,IAAI,WAAK;AACT;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA,yDAAyD,KAAK;AAC9D;AACA;AACA;AACA;AACA,4BAA4B,oBAAc;AAC1C;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,SAAS;AACvB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;;AAE9B,YAAY,aAAI,wBAAwB,aAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI;AAC/B,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;AACA;AACA,WAAK,mBAAmB,WAAK;AACd,iE;;;ACxlBA;AACf;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,C;;;ACtGmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,GAAG;AACH;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AACxE;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI;AAClF;AACA,gBAAgB,IAAI,OAAO,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI;AAC9D;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,IAAI,WAAW,IAAI,OAAO,IAAI;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;;AAGA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,6CAAI,EAAC;;;;;;;;;;;ACxxBU;;AAE9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA,QAAQ,iBAAQ;AAChB;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,mDAAmD,UAAU;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;;AAEA,iBAAiB,6BAA6B;AAC9C;AACA,kBAAkB,6BAA6B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,kD;;;ACrQR,MAAM,cAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACnZA,WAAW,SAAS;AAC8B;AACnC;AACf;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAM;AACnD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,yBAAyB,cAAM;AAC/B,gBAAgB,cAAM;AACtB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;AC1CwB;AACoB;AACR;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAG;AACZ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA,YAAY,MAAU;;AAEtB;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA,gC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC,gBAAgB,MAAU;AAC1B;AACA;AACA;AACA;AACA,UAAU,MAAU;AACpB,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA,GAAG;AACH,kBAAkB,qBAAqB;AACvC;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,sDAAsD,SAAS;AAC/D,EAAE;AACF;AACA,wEAAwE;AACxE,wBAAwB;AACxB,6BAA6B;AAC7B,kCAAkC;AAClC,+BAA+B;AAC/B,UAAU;AACV,UAAU;AACV,gBAAgB;AAChB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;AACtD,iBAAiB,SAAS;AAC1B,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA,qBAAqB;AACrB;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB;AACzB,yBAAyB;AACzB,YAAY,KAAK,gBAAgB,eAAe,MAAM;AACtD,IAAI;AACJ;AACA;AACA;AACA;AACe,8CAAG;;;;AClWW;AACJ;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAM;AACzB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,IAAI;AACxB,mBAAmB,IAAI;AACvB,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEe,gDAAK,E;;ACjUpB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACe,+C;;;ACtDe;AACI;AACA;AACA;AACN;AACrB,IAAI,UAAI,CAAC,IAAK;AACd,IAAI,YAAM,CAAC,UAAO;AAClB,IAAI,YAAM,CAAC,MAAO;AAClB,IAAI,YAAM,GAAG,MAAO;AACpB,IAAI,SAAG,GAAG,OAAI;;AAEN;AACf,QAAQ,mBAAO,qBAAO,qBAAO,kBAAI;AACjC,CAAC,EAAC;;;;;AAKK,aAAa,IAAK;AAClB,eAAe,UAAO;AACtB,eAAe,MAAO;AACtB,iBAAiB,MAAO;AACxB,cAAc,OAAI;;;ACvBE;AACE;AACJ;AACS;AACnB,MAAM,WAAK;AAC1B;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iBAAK;AAC7C;AACA,sC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB,KAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iBAAK;AAC9B;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iBAAK;AAClC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,MAAM;AACpC;AACA,aAAa;AACb;AACA;AACA,8BAA8B,iBAAK;AACnC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;;AAEA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2CAA2C;AAC3E,6BAA6B;AAC7B,gCAAgC,KAAK;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA;AACA,mDAAmD,EAAE;AACrD,K;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa,IAAI;AACjB,aAAa,IAAI,yBAAyB,IAAI;AAC9C,aAAa,IAAI,wBAAwB,IAAI;AAC7C,aAAa,IAAI;AACjB,aAAa,IAAI;;AAEjB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,K;AACA,C;;;;;;;;;;ACrP2B;AACA;AACA;AACE;AACO;AACF;AACI;AACb;;;AAGzB;AACA,IAAI,oBAAQ;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+CAA+C;AACzF;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;;AAEA,+CAA+C,qCAAqC;AACpF;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA,gCAAgC,WAAK,GAAG;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT,gCAAgC,WAAK;AACrC;AACA,4BAA4B,iBAAK;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAO;AAC3B,wBAAwB,gBAAM;AAC9B,6CAA6C,UAAI,+CAA+C,UAAI;AACpG,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,aAAa,IAAI;AACjB,aAAa,IAAI,kCAAkC,IAAI;AACvD,aAAa,IAAI,iCAAiC,IAAI;AACtD;AACA;AACA;AACA,SAAS,IAAI;AACb;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;;AAEA;AACA;AACA,iBAAiB,IAAI,mCAAmC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;;AAEjB;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEe;AACf,IAAI,kBAAK;AACT,IAAI,wBAAK;AACT,IAAI,YAAK;AACT,IAAI,cAAM;AACV;AACA;AACA,YAAY;AACZ,CAAC;;;;;;;AC7NiC;AACG;AACG;AACjC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,MAAM,yBAAc;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uCAAuC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,mBAAS;AAC/B,uBAAuB,mBAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAM;AAC1B,kCAAkC,UAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA,C;;ACnVoC;AACpC;AACA,wBAAwB,oCAAoC;AAC5D;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,4BAA4B;AAChD;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kBAAkB,sBAAsB;AACxC;AACA,yBAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB,6BAA6B;AACrD;AACA,yBAAyB,SAAS;AAClC,qBAAqB,QAAQ,gBAAgB,aAAa;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,aAAa,UAAU;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,6BAA6B;AACjD;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,gBAAgB,aAAa;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,oBAAoB,iDAAiD;AACrE;AACA,yBAAyB,SAAS;AAClC,kBAAkB,QAAQ,cAAc,WAAW,YAAY,SAAS;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AC5HD;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEe;AACf;AACA,CAAC;;;;ACZsC;AACF;AACA;AACA;;AAEtB;AACf,IAAI,wBAAW;AACf,IAAI,qCAAU;AACd,IAAI,sBAAU;AACd,IAAI,sBAAU;AACd,CAAC;;;ACX8B;AAChB,6DAAU,E;;;ACAzB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC9R2C;AACH;AACxC;AACe;AACf;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC;AACrD,GAAG;AACH,kBAAkB,8BAA8B,MAAM,iCAAiC,QAAQ;AAC/F,KAAK,gBAAgB,gCAAgC,QAAQ,SAAS,GAAG,cAAc;AACvF;AACA;AACA,EAAE;AACF;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,sCAAsC,GAAO;AAC7C;AACA,wBAAwB,UAAU;AAClC;AACA,SAAS;AACT,2BAA2B,UAAU;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,UAAU;AACvC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,qBAAqB,GAAO;AAC5B;AACA,SAAS;AACT;AACA,qBAAqB,GAAO;AAC5B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,C;;AC9G0B;AACM;;AAEjB;AACf,IAAI,QAAG;AACP,cAAc,GAAG;AACjB,cAAc,KAAK;AACnB,gBAAgB,KAAK;AACrB,gBAAgB,KAAK;AACrB,aAAa,KAAK;AAClB,C;;ACVe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,C;;AC1B0C;;;AAG1C,gCAAgC,qCAAqC;AACrE,IAAI,gBAAK,4CAA4C;;;AAGrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;;AAEA,IAAI,qBAAU,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,UAAU;AACrB;AACA,MAAM,qBAAU,SAAS,UAAU;AACnC,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEe;AACf,SAAS;AACT,cAAc;AACd,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,YAAY,UAAU;AACtB,cAAc;;AAEd,C;;;ACpD+B;AACD;;AAEL;AACE;AACF;AACY;AACiB;AACvC,yCAAC,CAAC,UAAI,EAAE,oBAAO,EAAE,gBAAK,EAAE,UAAI,CAAC,0BAAU,EAAE,EAAC;AACzD,YAAY,+FAAW,U;;ACVC;AACA;AACT,kFAAG;AACI;;;;;;;;ACHtB,mBAAmB,mBAAO,CAAC,MAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,MAAe;AACxC,mBAAmB,mBAAO,CAAC,MAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"eap.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"ELEMENT\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"ELEMENT\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"eap\"] = factory(require(\"ELEMENT\"));\n\telse\n\t\troot[\"eap\"] = factory(root[\"ELEMENT\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5f72__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,d) {\r\n\t\tif (d < 0) {\r\n\t\t\td = 0;\r\n\t\t}\r\n\t\tlet s = number + \"\";\r\n\t\tif (!d)\r\n\t\t\td = 0;\r\n\t\tif (s.indexOf(\".\") == -1)\r\n\t\t\ts += \".\";\r\n\t\ts += new Array(d + 1).join(\"0\");\r\n\t\tif (new RegExp(\"^(-|\\\\+)?(\\\\d+(\\\\.\\\\d{0,\" + (d + 1) + \"})?)\\\\d*$\").test(s)) {\r\n\t\t\tlet ss = \"0\" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true;\r\n\t\t\tif (a == d + 2) {\r\n\t\t\t\ta = statSync.match(/\\d/g);\r\n\t\t\t\tif (parseInt(a[a.length - 1]) > 4) {\r\n\t\t\t\t\tfor (let i = a.length - 2; i >= 0; i--) {\r\n\t\t\t\t\t\ta[i] = parseInt(a[i]) + 1;\r\n\t\t\t\t\t\tif (a[i] == 10) {\r\n\t\t\t\t\t\t\ta[i] = 0;\r\n\t\t\t\t\t\t\tb = i != 1;\r\n\t\t\t\t\t\t} else\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tss = a.join(\"\").replace(new RegExp(\"(\\\\d+)(\\\\d{\" + d + \"})\\\\d$\"),\r\n\t\t\t\t\t\t\"$1.$2\");\r\n\t\r\n\t\t\t}\r\n\t\t\tif (b)\r\n\t\t\t\tss = s.substr(1);\r\n\t\t\treturn (pm + ss).replace(/\\.$/, \"\");\r\n\t\t}\r\n\t\treturn this + \"\";\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride'\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
Ignore Space
Show notes
View
assets_platform/eap/eap.umd.min.js
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("ELEMENT")):"function"===typeof define&&define.amd?define(["ELEMENT"],t):"object"===typeof exports?exports["eap"]=t(require("ELEMENT")):e["eap"]=t(e["ELEMENT"])})("undefined"!==typeof self?self:this,(function(__WEBPACK_EXTERNAL_MODULE__5f72__){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="fb15")}({"00fd":function(e,t,r){var n=r("9e69"),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,s=n?n.toStringTag:void 0;function u(e){var t=a.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(u){}var o=i.call(e);return n&&(t?e[s]=r:delete e[s]),o}e.exports=u},"03dd":function(e,t,r){var n=r("eac5"),o=r("57a5"),a=Object.prototype,i=a.hasOwnProperty;function s(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))i.call(e,r)&&"constructor"!=r&&t.push(r);return t}e.exports=s},"0644":function(e,t,r){var n=r("3818"),o=1,a=4;function i(e){return n(e,o|a)}e.exports=i},"07c7":function(e,t){function r(){return!1}e.exports=r},"087d":function(e,t){function r(e,t){var r=-1,n=t.length,o=e.length;while(++r<n)e[o+r]=t[r];return e}e.exports=r},"0a06":function(e,t,r){"use strict";var n=r("c532"),o=r("30b5"),a=r("f6b4"),i=r("5270"),s=r("4a7b");function u(e){this.defaults=e,this.interceptors={request:new a,response:new a}}u.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=s(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[i,void 0],r=Promise.resolve(e);this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));while(t.length)r=r.then(t.shift(),t.shift());return r},u.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,r){return this.request(s(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,r,n){return this.request(s(n||{},{method:e,url:t,data:r}))}})),e.exports=u},"0b07":function(e,t,r){var n=r("34ac"),o=r("3698");function a(e,t){var r=o(e,t);return n(r)?r:void 0}e.exports=a},"0d24":function(e,t,r){(function(e){var n=r("2b3e"),o=r("07c7"),a=t&&!t.nodeType&&t,i=a&&"object"==typeof e&&e&&!e.nodeType&&e,s=i&&i.exports===a,u=s?n.Buffer:void 0,c=u?u.isBuffer:void 0,f=c||o;e.exports=f}).call(this,r("62e4")(e))},"0df6":function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},"0f0f":function(e,t,r){var n=r("8eeb"),o=r("9934");function a(e,t){return e&&n(t,o(t),e)}e.exports=a},1041:function(e,t,r){var n=r("8eeb"),o=r("a029");function a(e,t){return n(e,o(e),t)}e.exports=a},1290:function(e,t){function r(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}e.exports=r},1310:function(e,t){function r(e){return null!=e&&"object"==typeof e}e.exports=r},1368:function(e,t,r){var n=r("da03"),o=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function a(e){return!!o&&o in e}e.exports=a},"18d8":function(e,t,r){var n=r("234d"),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,"$1"):r||e)})),t}));e.exports=i},"1a2d":function(e,t,r){var n=r("42a2"),o=r("1310"),a="[object Map]";function i(e){return o(e)&&n(e)==a}e.exports=i},"1a8c":function(e,t){function r(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=r},"1bac":function(e,t,r){var n=r("7d1f"),o=r("a029"),a=r("9934");function i(e){return n(e,a,o)}e.exports=i},"1cec":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Promise");e.exports=a},"1d2b":function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},"1efc":function(e,t){function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=r},"1fc8":function(e,t,r){var n=r("4245");function o(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}e.exports=o},"234d":function(e,t,r){var n=r("e380"),o=500;function a(e){var t=n(e,(function(e){return r.size===o&&r.clear(),e})),r=t.cache;return t}e.exports=a},2444:function(e,t,r){"use strict";(function(t){var n=r("c532"),o=r("c8af"),a={"Content-Type":"application/x-www-form-urlencoded"};function i(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function s(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=r("b50d")),e}var u={adapter:s(),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(i(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(i(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){u.headers[e]=n.merge(a)})),e.exports=u}).call(this,r("4362"))},2474:function(e,t,r){var n=r("2b3e"),o=n.Uint8Array;e.exports=o},2478:function(e,t,r){var n=r("4245");function o(e){return n(this,e).get(e)}e.exports=o},2524:function(e,t,r){var n=r("6044"),o="__lodash_hash_undefined__";function a(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?o:t,this}e.exports=a},"253c":function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Arguments]";function i(e){return o(e)&&n(e)==a}e.exports=i},"28c9":function(e,t){function r(){this.__data__=[],this.size=0}e.exports=r},"29f3":function(e,t){var r=Object.prototype,n=r.toString;function o(e){return n.call(e)}e.exports=o},"2b3e":function(e,t,r){var n=r("585a"),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},"2d7c":function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length,o=0,a=[];while(++r<n){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}e.exports=r},"2d83":function(e,t,r){"use strict";var n=r("387f");e.exports=function(e,t,r,o,a){var i=new Error(e);return n(i,t,r,o,a)}},"2dcb":function(e,t,r){var n=r("91e9"),o=n(Object.getPrototypeOf,Object);e.exports=o},"2e67":function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"2fcc":function(e,t){function r(e){var t=this.__data__,r=t["delete"](e);return this.size=t.size,r}e.exports=r},"30b5":function(e,t,r){"use strict";var n=r("c532");function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var a;if(r)a=r(t);else if(n.isURLSearchParams(t))a=t.toString();else{var i=[];n.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),i.push(o(t)+"="+o(e))})))})),a=i.join("&")}if(a){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}},"30c9":function(e,t,r){var n=r("9520"),o=r("b218");function a(e){return null!=e&&o(e.length)&&!n(e)}e.exports=a},"32b3":function(e,t,r){var n=r("872a"),o=r("9638"),a=Object.prototype,i=a.hasOwnProperty;function s(e,t,r){var a=e[t];i.call(e,t)&&o(a,r)&&(void 0!==r||t in e)||n(e,t,r)}e.exports=s},"32f4":function(e,t,r){var n=r("2d7c"),o=r("d327"),a=Object.prototype,i=a.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return i.call(e,t)})))}:o;e.exports=u},"34ac":function(e,t,r){var n=r("9520"),o=r("1368"),a=r("1a8c"),i=r("dc57"),s=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,c=Function.prototype,f=Object.prototype,l=c.toString,d=f.hasOwnProperty,p=RegExp("^"+l.call(d).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(e){if(!a(e)||o(e))return!1;var t=n(e)?p:u;return t.test(i(e))}e.exports=h},3698:function(e,t){function r(e,t){return null==e?void 0:e[t]}e.exports=r},3729:function(e,t,r){var n=r("9e69"),o=r("00fd"),a=r("29f3"),i="[object Null]",s="[object Undefined]",u=n?n.toStringTag:void 0;function c(e){return null==e?void 0===e?s:i:u&&u in Object(e)?o(e):a(e)}e.exports=c},3818:function(e,t,r){var n=r("7e64"),o=r("8057"),a=r("32b3"),i=r("5b01"),s=r("0f0f"),u=r("e538"),c=r("4359"),f=r("54eb"),l=r("1041"),d=r("a994"),p=r("1bac"),h=r("42a2"),g=r("c87c"),y=r("c2b6"),w=r("fa21"),m=r("6747"),b=r("0d24"),v=r("cc45"),_=r("1a8c"),x=r("d7ee"),T=r("ec69"),S=r("9934"),I=1,E=2,j=4,D="[object Arguments]",O="[object Array]",A="[object Boolean]",N="[object Date]",M="[object Error]",k="[object Function]",R="[object GeneratorFunction]",C="[object Map]",H="[object Number]",U="[object Object]",P="[object RegExp]",F="[object Set]",q="[object String]",B="[object Symbol]",z="[object WeakMap]",V="[object ArrayBuffer]",L="[object DataView]",G="[object Float32Array]",W="[object Float64Array]",$="[object Int8Array]",Y="[object Int16Array]",J="[object Int32Array]",X="[object Uint8Array]",K="[object Uint8ClampedArray]",Q="[object Uint16Array]",Z="[object Uint32Array]",ee={};function te(e,t,r,O,A,N){var M,C=t&I,H=t&E,P=t&j;if(r&&(M=A?r(e,O,A,N):r(e)),void 0!==M)return M;if(!_(e))return e;var F=m(e);if(F){if(M=g(e),!C)return c(e,M)}else{var q=h(e),B=q==k||q==R;if(b(e))return u(e,C);if(q==U||q==D||B&&!A){if(M=H||B?{}:w(e),!C)return H?l(e,s(M,e)):f(e,i(M,e))}else{if(!ee[q])return A?e:{};M=y(e,q,C)}}N||(N=new n);var z=N.get(e);if(z)return z;N.set(e,M),x(e)?e.forEach((function(n){M.add(te(n,t,r,n,e,N))})):v(e)&&e.forEach((function(n,o){M.set(o,te(n,t,r,o,e,N))}));var V=P?H?p:d:H?S:T,L=F?void 0:V(e);return o(L||e,(function(n,o){L&&(o=n,n=e[o]),a(M,o,te(n,t,r,o,e,N))})),M}ee[D]=ee[O]=ee[V]=ee[L]=ee[A]=ee[N]=ee[G]=ee[W]=ee[$]=ee[Y]=ee[J]=ee[C]=ee[H]=ee[U]=ee[P]=ee[F]=ee[q]=ee[B]=ee[X]=ee[K]=ee[Q]=ee[Z]=!0,ee[M]=ee[k]=ee[z]=!1,e.exports=te},3852:function(e,t,r){var n=r("96f3"),o=r("e2c0");function a(e,t){return null!=e&&o(e,t,n)}e.exports=a},"387f":function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},3934:function(e,t,r){"use strict";var n=r("c532");e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return function(){return!0}}()},"39ff":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"WeakMap");e.exports=a},"3b4a":function(e,t,r){var n=r("0b07"),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();e.exports=o},"3c35":function(e,t){(function(t){e.exports=t}).call(this,{})},"3e8f":function(e,t){},"41c3":function(e,t,r){var n=r("1a8c"),o=r("eac5"),a=r("ec8c"),i=Object.prototype,s=i.hasOwnProperty;function u(e){if(!n(e))return a(e);var t=o(e),r=[];for(var i in e)("constructor"!=i||!t&&s.call(e,i))&&r.push(i);return r}e.exports=u},4245:function(e,t,r){var n=r("1290");function o(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}e.exports=o},"42a2":function(e,t,r){var n=r("b5a7"),o=r("79bc"),a=r("1cec"),i=r("c869"),s=r("39ff"),u=r("3729"),c=r("dc57"),f="[object Map]",l="[object Object]",d="[object Promise]",p="[object Set]",h="[object WeakMap]",g="[object DataView]",y=c(n),w=c(o),m=c(a),b=c(i),v=c(s),_=u;(n&&_(new n(new ArrayBuffer(1)))!=g||o&&_(new o)!=f||a&&_(a.resolve())!=d||i&&_(new i)!=p||s&&_(new s)!=h)&&(_=function(e){var t=u(e),r=t==l?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case y:return g;case w:return f;case m:return d;case b:return p;case v:return h}return t}),e.exports=_},4359:function(e,t){function r(e,t){var r=-1,n=e.length;t||(t=Array(n));while(++r<n)t[r]=e[r];return t}e.exports=r},4362:function(e,t,r){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,n="/";t.cwd=function(){return n},t.chdir=function(t){e||(e=r("df7c")),n=e.resolve(t,n)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},"467f":function(e,t,r){"use strict";var n=r("2d83");e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},"49f4":function(e,t,r){var n=r("6044");function o(){this.__data__=n?n(null):{},this.size=0}e.exports=o},"4a7b":function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t){t=t||{};var r={},o=["url","method","data"],a=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function u(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function c(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=u(void 0,e[o])):r[o]=u(e[o],t[o])}n.forEach(o,(function(e){n.isUndefined(t[e])||(r[e]=u(void 0,t[e]))})),n.forEach(a,c),n.forEach(i,(function(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=u(void 0,e[o])):r[o]=u(void 0,t[o])})),n.forEach(s,(function(n){n in t?r[n]=u(e[n],t[n]):n in e&&(r[n]=u(void 0,e[n]))}));var f=o.concat(a).concat(i).concat(s),l=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===f.indexOf(e)}));return n.forEach(l,c),r}},"50d8":function(e,t){function r(e,t){var r=-1,n=Array(e);while(++r<e)n[r]=t(r);return n}e.exports=r},5270:function(e,t,r){"use strict";var n=r("c532"),o=r("c401"),a=r("2e67"),i=r("2444");function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){s(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]}));var t=e.adapter||i.adapter;return t(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},"54eb":function(e,t,r){var n=r("8eeb"),o=r("32f4");function a(e,t){return n(e,o(e),t)}e.exports=a},"55a3":function(e,t){function r(e){return this.__data__.has(e)}e.exports=r},"57a5":function(e,t,r){var n=r("91e9"),o=n(Object.keys,Object);e.exports=o},"585a":function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r("c8ba"))},"5b01":function(e,t,r){var n=r("8eeb"),o=r("ec69");function a(e,t){return e&&n(t,o(t),e)}e.exports=a},"5d89":function(e,t,r){var n=r("f8af");function o(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}e.exports=o},"5e2e":function(e,t,r){var n=r("28c9"),o=r("69d5"),a=r("b4c0"),i=r("fba5"),s=r("67ca");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},"5f72":function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__5f72__},6044:function(e,t,r){var n=r("0b07"),o=n(Object,"create");e.exports=o},6220:function(e,t,r){var n=r("b1d2"),o=r("b047"),a=r("99d3"),i=a&&a.isDate,s=i?o(i):n;e.exports=s},"62e4":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},6747:function(e,t){var r=Array.isArray;e.exports=r},"67ca":function(e,t,r){var n=r("cb5a");function o(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}e.exports=o},"69d5":function(e,t,r){var n=r("cb5a"),o=Array.prototype,a=o.splice;function i(e){var t=this.__data__,r=n(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():a.call(t,r,1),--this.size,!0}e.exports=i},"6f6c":function(e,t){var r=/\w*$/;function n(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}e.exports=n},"6fcd":function(e,t,r){var n=r("50d8"),o=r("d370"),a=r("6747"),i=r("0d24"),s=r("c098"),u=r("73ac"),c=Object.prototype,f=c.hasOwnProperty;function l(e,t){var r=a(e),c=!r&&o(e),l=!r&&!c&&i(e),d=!r&&!c&&!l&&u(e),p=r||c||l||d,h=p?n(e.length,String):[],g=h.length;for(var y in e)!t&&!f.call(e,y)||p&&("length"==y||l&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}e.exports=l},"73ac":function(e,t,r){var n=r("743f"),o=r("b047"),a=r("99d3"),i=a&&a.isTypedArray,s=i?o(i):n;e.exports=s},"743f":function(e,t,r){var n=r("3729"),o=r("b218"),a=r("1310"),i="[object Arguments]",s="[object Array]",u="[object Boolean]",c="[object Date]",f="[object Error]",l="[object Function]",d="[object Map]",p="[object Number]",h="[object Object]",g="[object RegExp]",y="[object Set]",w="[object String]",m="[object WeakMap]",b="[object ArrayBuffer]",v="[object DataView]",_="[object Float32Array]",x="[object Float64Array]",T="[object Int8Array]",S="[object Int16Array]",I="[object Int32Array]",E="[object Uint8Array]",j="[object Uint8ClampedArray]",D="[object Uint16Array]",O="[object Uint32Array]",A={};function N(e){return a(e)&&o(e.length)&&!!A[n(e)]}A[_]=A[x]=A[T]=A[S]=A[I]=A[E]=A[j]=A[D]=A[O]=!0,A[i]=A[s]=A[b]=A[u]=A[v]=A[c]=A[f]=A[l]=A[d]=A[p]=A[h]=A[g]=A[y]=A[w]=A[m]=!1,e.exports=N},7530:function(e,t,r){var n=r("1a8c"),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},"76dd":function(e,t,r){var n=r("ce86");function o(e){return null==e?"":n(e)}e.exports=o},7948:function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length,o=Array(n);while(++r<n)o[r]=t(e[r],r,e);return o}e.exports=r},"79bc":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Map");e.exports=a},"7a48":function(e,t,r){var n=r("6044"),o=Object.prototype,a=o.hasOwnProperty;function i(e){var t=this.__data__;return n?void 0!==t[e]:a.call(t,e)}e.exports=i},"7a77":function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},"7aac":function(e,t,r){"use strict";var n=r("c532");e.exports=n.isStandardBrowserEnv()?function(){return{write:function(e,t,r,o,a,i){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(o)&&s.push("path="+o),n.isString(a)&&s.push("domain="+a),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"7b83":function(e,t,r){var n=r("7c64"),o=r("93ed"),a=r("2478"),i=r("a524"),s=r("1fc8");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},"7c64":function(e,t,r){var n=r("e24b"),o=r("5e2e"),a=r("79bc");function i(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}e.exports=i},"7d1f":function(e,t,r){var n=r("087d"),o=r("6747");function a(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}e.exports=a},"7e64":function(e,t,r){var n=r("5e2e"),o=r("efb6"),a=r("2fcc"),i=r("802a"),s=r("55a3"),u=r("d02c");function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype["delete"]=a,c.prototype.get=i,c.prototype.has=s,c.prototype.set=u,e.exports=c},"802a":function(e,t){function r(e){return this.__data__.get(e)}e.exports=r},8057:function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length;while(++r<n)if(!1===t(e[r],r,e))break;return e}e.exports=r},8237:function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__; /** * [js-md5]{@link https://github.com/emn178/js-md5} * * @namespace md5 * @version 0.7.3 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT */(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"===typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"===typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"===typeof module&&module.exports,AMD=__webpack_require__("3c35"),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var r=OUTPUT_TYPES[t];e[r]=createOutputMethod(r)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"===typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null===e||void 0===e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if("string"!==r){if("object"!==r)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw ERROR;t=!0}var n,o,a=0,i=e.length,s=this.blocks,u=this.buffer8;while(a<i){if(this.hashed&&(this.hashed=!1,s[0]=s[16],s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)if(ARRAY_BUFFER)for(o=this.start;a<i&&o<64;++a)u[o++]=e[a];else for(o=this.start;a<i&&o<64;++a)s[o>>2]|=e[a]<<SHIFT[3&o++];else if(ARRAY_BUFFER)for(o=this.start;a<i&&o<64;++a)n=e.charCodeAt(a),n<128?u[o++]=n:n<2048?(u[o++]=192|n>>6,u[o++]=128|63&n):n<55296||n>=57344?(u[o++]=224|n>>12,u[o++]=128|n>>6&63,u[o++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),u[o++]=240|n>>18,u[o++]=128|n>>12&63,u[o++]=128|n>>6&63,u[o++]=128|63&n);else for(o=this.start;a<i&&o<64;++a)n=e.charCodeAt(a),n<128?s[o>>2]|=n<<SHIFT[3&o++]:n<2048?(s[o>>2]|=(192|n>>6)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]):n<55296||n>=57344?(s[o>>2]|=(224|n>>12)<<SHIFT[3&o++],s[o>>2]|=(128|n>>6&63)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),s[o>>2]|=(240|n>>18)<<SHIFT[3&o++],s[o>>2]|=(128|n>>12&63)<<SHIFT[3&o++],s[o>>2]|=(128|n>>6&63)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,r,n,o,a,i=this.blocks;this.first?(e=i[0]-680876937,e=(e<<7|e>>>25)-271733879<<0,n=(-1732584194^2004318071&e)+i[1]-117830708,n=(n<<12|n>>>20)+e<<0,r=(-271733879^n&(-271733879^e))+i[2]-1126478375,r=(r<<17|r>>>15)+n<<0,t=(e^r&(n^e))+i[3]-1316259209,t=(t<<22|t>>>10)+r<<0):(e=this.h0,t=this.h1,r=this.h2,n=this.h3,e+=(n^t&(r^n))+i[0]-680876936,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[1]-389564586,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[2]+606105819,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[3]-1044525330,t=(t<<22|t>>>10)+r<<0),e+=(n^t&(r^n))+i[4]-176418897,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[5]+1200080426,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[6]-1473231341,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[7]-45705983,t=(t<<22|t>>>10)+r<<0,e+=(n^t&(r^n))+i[8]+1770035416,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[9]-1958414417,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[10]-42063,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[11]-1990404162,t=(t<<22|t>>>10)+r<<0,e+=(n^t&(r^n))+i[12]+1804603682,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[13]-40341101,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[14]-1502002290,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[15]+1236535329,t=(t<<22|t>>>10)+r<<0,e+=(r^n&(t^r))+i[1]-165796510,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[6]-1069501632,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[11]+643717713,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[0]-373897302,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[5]-701558691,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[10]+38016083,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[15]-660478335,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[4]-405537848,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[9]+568446438,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[14]-1019803690,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[3]-187363961,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[8]+1163531501,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[13]-1444681467,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[2]-51403784,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[7]+1735328473,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[12]-1926607734,t=(t<<20|t>>>12)+r<<0,o=t^r,e+=(o^n)+i[5]-378558,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[8]-2022574463,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[11]+1839030562,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[14]-35309556,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[1]-1530992060,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[4]+1272893353,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[7]-155497632,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[10]-1094730640,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[13]+681279174,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[0]-358537222,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[3]-722521979,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[6]+76029189,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[9]-640364487,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[12]-421815835,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[15]+530742520,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[2]-995338651,t=(t<<23|t>>>9)+r<<0,e+=(r^(t|~n))+i[0]-198630844,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[7]+1126891415,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[14]-1416354905,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[5]-57434055,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[12]+1700485571,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[3]-1894986606,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[10]-1051523,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[1]-2054922799,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[8]+1873313359,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[15]-30611744,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[6]-1560198380,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[13]+1309151649,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[4]-145523070,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[11]-1120210379,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[2]+718787259,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[9]-343485551,t=(t<<21|t>>>11)+r<<0,this.first?(this.h0=e+1732584193<<0,this.h1=t-271733879<<0,this.h2=r-1732584194<<0,this.h3=n+271733878<<0,this.first=!1):(this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,r,n="",o=this.array(),a=0;a<15;)e=o[a++],t=o[a++],r=o[a++],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|r>>>6)]+BASE64_ENCODE_CHAR[63&r];return e=o[a],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"==",n};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__("4362"),__webpack_require__("c8ba"))},"83b9":function(e,t,r){"use strict";var n=r("d925"),o=r("e683");e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},"872a":function(e,t,r){var n=r("3b4a");function o(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}e.exports=o},8875:function(e,t,r){var n,o,a;(function(r,i){o=[],n=i,a="function"===typeof n?n.apply(t,o):n,void 0===a||(e.exports=a)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(p){var r,n,o,a=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,i=/@([^@]*):(\d+):(\d+)\s*$/gi,s=a.exec(p.stack)||i.exec(p.stack),u=s&&s[1]||!1,c=s&&s[2]||!1,f=document.location.href.replace(document.location.hash,""),l=document.getElementsByTagName("script");u===f&&(r=document.documentElement.outerHTML,n=new RegExp("(?:[^\\n]+?\\n){0,"+(c-2)+"}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),o=r.replace(n,"$1").trim());for(var d=0;d<l.length;d++){if("interactive"===l[d].readyState)return l[d];if(l[d].src===u)return l[d];if(u===f&&l[d].innerHTML&&l[d].innerHTML.trim()===o)return l[d]}return null}}return e}))},"8df4":function(e,t,r){"use strict";var n=r("7a77");function o(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e,t=new o((function(t){e=t}));return{token:t,cancel:e}},e.exports=o},"8eeb":function(e,t,r){var n=r("32b3"),o=r("872a");function a(e,t,r,a){var i=!r;r||(r={});var s=-1,u=t.length;while(++s<u){var c=t[s],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}e.exports=a},"91e9":function(e,t){function r(e,t){return function(r){return e(t(r))}}e.exports=r},"93ed":function(e,t,r){var n=r("4245");function o(e){var t=n(this,e)["delete"](e);return this.size-=t?1:0,t}e.exports=o},9520:function(e,t,r){var n=r("3729"),o=r("1a8c"),a="[object AsyncFunction]",i="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";function c(e){if(!o(e))return!1;var t=n(e);return t==i||t==s||t==a||t==u}e.exports=c},9638:function(e,t){function r(e,t){return e===t||e!==e&&t!==t}e.exports=r},"96f3":function(e,t){var r=Object.prototype,n=r.hasOwnProperty;function o(e,t){return null!=e&&n.call(e,t)}e.exports=o},9934:function(e,t,r){var n=r("6fcd"),o=r("41c3"),a=r("30c9");function i(e){return a(e)?n(e,!0):o(e)}e.exports=i},"99d3":function(e,t,r){(function(e){var n=r("585a"),o=t&&!t.nodeType&&t,a=o&&"object"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o,s=i&&n.process,u=function(){try{var e=a&&a.require&&a.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(t){}}();e.exports=u}).call(this,r("62e4")(e))},"9e69":function(e,t,r){var n=r("2b3e"),o=n.Symbol;e.exports=o},a029:function(e,t,r){var n=r("087d"),o=r("2dcb"),a=r("32f4"),i=r("d327"),s=Object.getOwnPropertySymbols,u=s?function(e){var t=[];while(e)n(t,a(e)),e=o(e);return t}:i;e.exports=u},a2db:function(e,t,r){var n=r("9e69"),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;function i(e){return a?Object(a.call(e)):{}}e.exports=i},a524:function(e,t,r){var n=r("4245");function o(e){return n(this,e).has(e)}e.exports=o},a78e:function(e,t,r){var n,o; /*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */(function(a){var i;if(n=a,o="function"===typeof n?n.call(t,r,t,e):n,void 0===o||(e.exports=o),i=!0,e.exports=a(),i=!0,!i){var s=window.Cookies,u=window.Cookies=a();u.noConflict=function(){return window.Cookies=s,u}}})((function(){function e(){for(var e=0,t={};e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}function r(n){function o(){}function a(t,r,a){if("undefined"!==typeof document){a=e({path:"/"},o.defaults,a),"number"===typeof a.expires&&(a.expires=new Date(1*new Date+864e5*a.expires)),a.expires=a.expires?a.expires.toUTCString():"";try{var i=JSON.stringify(r);/^[\{\[]/.test(i)&&(r=i)}catch(c){}r=n.write?n.write(r,t):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var s="";for(var u in a)a[u]&&(s+="; "+u,!0!==a[u]&&(s+="="+a[u].split(";")[0]));return document.cookie=t+"="+r+s}}function i(e,r){if("undefined"!==typeof document){for(var o={},a=document.cookie?document.cookie.split("; "):[],i=0;i<a.length;i++){var s=a[i].split("="),u=s.slice(1).join("=");r||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var c=t(s[0]);if(u=(n.read||n)(u,c)||t(u),r)try{u=JSON.parse(u)}catch(f){}if(o[c]=u,e===c)break}catch(f){}}return e?o[e]:o}}return o.set=a,o.get=function(e){return i(e,!1)},o.getJSON=function(e){return i(e,!0)},o.remove=function(t,r){a(t,"",e(r,{expires:-1}))},o.defaults={},o.withConverter=r,o}return r((function(){}))}))},a994:function(e,t,r){var n=r("7d1f"),o=r("32f4"),a=r("ec69");function i(e){return n(e,a,o)}e.exports=i},b047:function(e,t){function r(e){return function(t){return e(t)}}e.exports=r},b1d2:function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Date]";function i(e){return o(e)&&n(e)==a}e.exports=i},b218:function(e,t){var r=9007199254740991;function n(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}e.exports=n},b4c0:function(e,t,r){var n=r("cb5a");function o(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}e.exports=o},b50d:function(e,t,r){"use strict";var n=r("c532"),o=r("467f"),a=r("7aac"),i=r("30b5"),s=r("83b9"),u=r("c345"),c=r("3934"),f=r("2d83");e.exports=function(e){return new Promise((function(t,r){var l=e.data,d=e.headers;n.isFormData(l)&&delete d["Content-Type"],(n.isBlob(l)||n.isFile(l))&&l.type&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",g=unescape(encodeURIComponent(e.auth.password))||"";d.Authorization="Basic "+btoa(h+":"+g)}var y=s(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?u(p.getAllResponseHeaders()):null,a=e.responseType&&"text"!==e.responseType?p.response:p.responseText,i={data:a,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};o(t,r,i),p=null}},p.onabort=function(){p&&(r(f("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){r(f("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(f(t,e,"ECONNABORTED",p)),p=null},n.isStandardBrowserEnv()){var w=(e.withCredentials||c(y))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;w&&(d[e.xsrfHeaderName]=w)}if("setRequestHeader"in p&&n.forEach(d,(function(e,t){"undefined"===typeof l&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(m){if("json"!==e.responseType)throw m}"function"===typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),r(e),p=null)})),l||(l=null),p.send(l)}))}},b5a7:function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"DataView");e.exports=a},bbc0:function(e,t,r){var n=r("6044"),o="__lodash_hash_undefined__",a=Object.prototype,i=a.hasOwnProperty;function s(e){var t=this.__data__;if(n){var r=t[e];return r===o?void 0:r}return i.call(t,e)?t[e]:void 0}e.exports=s},bc3a:function(e,t,r){e.exports=r("cee4")},c098:function(e,t){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function o(e,t){var o=typeof e;return t=null==t?r:t,!!t&&("number"==o||"symbol"!=o&&n.test(e))&&e>-1&&e%1==0&&e<t}e.exports=o},c2b6:function(e,t,r){var n=r("f8af"),o=r("5d89"),a=r("6f6c"),i=r("a2db"),s=r("c8fe"),u="[object Boolean]",c="[object Date]",f="[object Map]",l="[object Number]",d="[object RegExp]",p="[object Set]",h="[object String]",g="[object Symbol]",y="[object ArrayBuffer]",w="[object DataView]",m="[object Float32Array]",b="[object Float64Array]",v="[object Int8Array]",_="[object Int16Array]",x="[object Int32Array]",T="[object Uint8Array]",S="[object Uint8ClampedArray]",I="[object Uint16Array]",E="[object Uint32Array]";function j(e,t,r){var j=e.constructor;switch(t){case y:return n(e);case u:case c:return new j(+e);case w:return o(e,r);case m:case b:case v:case _:case x:case T:case S:case I:case E:return s(e,r);case f:return new j;case l:case h:return new j(e);case d:return a(e);case p:return new j;case g:return i(e)}}e.exports=j},c345:function(e,t,r){"use strict";var n=r("c532"),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,a,i={};return e?(n.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=n.trim(e.substr(0,a)).toLowerCase(),r=n.trim(e.substr(a+1)),t){if(i[t]&&o.indexOf(t)>=0)return;i[t]="set-cookie"===t?(i[t]?i[t]:[]).concat([r]):i[t]?i[t]+", "+r:r}})),i):i}},c3fc:function(e,t,r){var n=r("42a2"),o=r("1310"),a="[object Set]";function i(e){return o(e)&&n(e)==a}e.exports=i},c401:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},c532:function(e,t,r){"use strict";var n=r("1d2b"),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function i(e){return"undefined"===typeof e}function s(e){return null!==e&&!i(e)&&null!==e.constructor&&!i(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function u(e){return"[object ArrayBuffer]"===o.call(e)}function c(e){return"undefined"!==typeof FormData&&e instanceof FormData}function f(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function l(e){return"string"===typeof e}function d(e){return"number"===typeof e}function p(e){return null!==e&&"object"===typeof e}function h(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function g(e){return"[object Date]"===o.call(e)}function y(e){return"[object File]"===o.call(e)}function w(e){return"[object Blob]"===o.call(e)}function m(e){return"[object Function]"===o.call(e)}function b(e){return p(e)&&m(e.pipe)}function v(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function _(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function T(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}function S(){var e={};function t(t,r){h(e[r])&&h(t)?e[r]=S(e[r],t):h(t)?e[r]=S({},t):a(t)?e[r]=t.slice():e[r]=t}for(var r=0,n=arguments.length;r<n;r++)T(arguments[r],t);return e}function I(e,t,r){return T(t,(function(t,o){e[o]=r&&"function"===typeof t?n(t,r):t})),e}function E(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}e.exports={isArray:a,isArrayBuffer:u,isBuffer:s,isFormData:c,isArrayBufferView:f,isString:l,isNumber:d,isObject:p,isPlainObject:h,isUndefined:i,isDate:g,isFile:y,isBlob:w,isFunction:m,isStream:b,isURLSearchParams:v,isStandardBrowserEnv:x,forEach:T,merge:S,extend:I,trim:_,stripBOM:E}},c869:function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Set");e.exports=a},c87c:function(e,t){var r=Object.prototype,n=r.hasOwnProperty;function o(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}e.exports=o},c8af:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},c8ba:function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},c8fe:function(e,t,r){var n=r("f8af");function o(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}e.exports=o},cb5a:function(e,t,r){var n=r("9638");function o(e,t){var r=e.length;while(r--)if(n(e[r][0],t))return r;return-1}e.exports=o},cc45:function(e,t,r){var n=r("1a2d"),o=r("b047"),a=r("99d3"),i=a&&a.isMap,s=i?o(i):n;e.exports=s},ce86:function(e,t,r){var n=r("9e69"),o=r("7948"),a=r("6747"),i=r("ffd6"),s=1/0,u=n?n.prototype:void 0,c=u?u.toString:void 0;function f(e){if("string"==typeof e)return e;if(a(e))return o(e,f)+"";if(i(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-s?"-0":t}e.exports=f},cee4:function(e,t,r){"use strict";var n=r("c532"),o=r("1d2b"),a=r("0a06"),i=r("4a7b"),s=r("2444");function u(e){var t=new a(e),r=o(a.prototype.request,t);return n.extend(r,a.prototype,t),n.extend(r,t),r}var c=u(s);c.Axios=a,c.create=function(e){return u(i(c.defaults,e))},c.Cancel=r("7a77"),c.CancelToken=r("8df4"),c.isCancel=r("2e67"),c.all=function(e){return Promise.all(e)},c.spread=r("0df6"),e.exports=c,e.exports.default=c},d02c:function(e,t,r){var n=r("5e2e"),o=r("79bc"),a=r("7b83"),i=200;function s(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!o||s.length<i-1)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(s)}return r.set(e,t),this.size=r.size,this}e.exports=s},d327:function(e,t){function r(){return[]}e.exports=r},d370:function(e,t,r){var n=r("253c"),o=r("1310"),a=Object.prototype,i=a.hasOwnProperty,s=a.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},d7ee:function(e,t,r){var n=r("c3fc"),o=r("b047"),a=r("99d3"),i=a&&a.isSet,s=i?o(i):n;e.exports=s},d925:function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},da03:function(e,t,r){var n=r("2b3e"),o=n["__core-js_shared__"];e.exports=o},dc57:function(e,t){var r=Function.prototype,n=r.toString;function o(e){if(null!=e){try{return n.call(e)}catch(t){}try{return e+""}catch(t){}}return""}e.exports=o},df7c:function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e){"string"!==typeof e&&(e+="");var t,r=0,n=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){r=t+1;break}}else-1===n&&(o=!1,n=t+1);return-1===n?"":e.slice(r,n)}function o(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}t.resolve=function(){for(var t="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var i=a>=0?arguments[a]:e.cwd();if("string"!==typeof i)throw new TypeError("Arguments to path.resolve must be strings");i&&(t=i+"/"+t,n="/"===i.charAt(0))}return t=r(o(t.split("/"),(function(e){return!!e})),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),i="/"===a(e,-1);return e=r(o(e.split("/"),(function(e){return!!e})),!n).join("/"),e||n||(e="."),e&&i&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t<e.length;t++)if(""!==e[t])break;for(var r=e.length-1;r>=0;r--)if(""!==e[r])break;return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var o=n(e.split("/")),a=n(r.split("/")),i=Math.min(o.length,a.length),s=i,u=0;u<i;u++)if(o[u]!==a[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return c=c.concat(a.slice(s)),c.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!==typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,n=-1,o=!0,a=e.length-1;a>=1;--a)if(t=e.charCodeAt(a),47===t){if(!o){n=a;break}}else o=!1;return-1===n?r?"/":".":r&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var r=n(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,r=0,n=-1,o=!0,a=0,i=e.length-1;i>=0;--i){var s=e.charCodeAt(i);if(47!==s)-1===n&&(o=!1,n=i+1),46===s?-1===t?t=i:1!==a&&(a=1):-1!==t&&(a=-1);else if(!o){r=i+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)};var a="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r("4362"))},e24b:function(e,t,r){var n=r("49f4"),o=r("1efc"),a=r("bbc0"),i=r("7a48"),s=r("2524");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},e2c0:function(e,t,r){var n=r("e2e4"),o=r("d370"),a=r("6747"),i=r("c098"),s=r("b218"),u=r("f4d6");function c(e,t,r){t=n(t,e);var c=-1,f=t.length,l=!1;while(++c<f){var d=u(t[c]);if(!(l=null!=e&&r(e,d)))break;e=e[d]}return l||++c!=f?l:(f=null==e?0:e.length,!!f&&s(f)&&i(d,f)&&(a(e)||o(e)))}e.exports=c},e2e4:function(e,t,r){var n=r("6747"),o=r("f608"),a=r("18d8"),i=r("76dd");function s(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}e.exports=s},e380:function(e,t,r){var n=r("7b83"),o="Expected a function";function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(o);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(a.Cache||n),r}a.Cache=n,e.exports=a},e538:function(e,t,r){(function(e){var n=r("2b3e"),o=t&&!t.nodeType&&t,a=o&&"object"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o,s=i?n.Buffer:void 0,u=s?s.allocUnsafe:void 0;function c(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}e.exports=c}).call(this,r("62e4")(e))},e683:function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},eac5:function(e,t){var r=Object.prototype;function n(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||r;return e===n}e.exports=n},ec69:function(e,t,r){var n=r("6fcd"),o=r("03dd"),a=r("30c9");function i(e){return a(e)?n(e):o(e)}e.exports=i},ec8c:function(e,t){function r(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}e.exports=r},efb6:function(e,t,r){var n=r("5e2e");function o(){this.__data__=new n,this.size=0}e.exports=o},f4d6:function(e,t,r){var n=r("ffd6"),o=1/0;function a(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}e.exports=a},f608:function(e,t,r){var n=r("6747"),o=r("ffd6"),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;function s(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}e.exports=s},f6b4:function(e,t,r){"use strict";var n=r("c532");function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},f8af:function(e,t,r){var n=r("2474");function o(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}e.exports=o},fa21:function(e,t,r){var n=r("7530"),o=r("2dcb"),a=r("eac5");function i(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}e.exports=i},fb15:function(e,t,r){"use strict";if(r.r(t),r.d(t,"user",(function(){return M})),r.d(t,"ajax",(function(){return v})),r.d(t,"request",(function(){return b})),r.d(t,"utils",(function(){return Re})),r.d(t,"page",(function(){return Ce})),r.d(t,"dataHelper",(function(){return Fe})),"undefined"!==typeof window){var n=window.document.currentScript,o=r("8875");n=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o});var a=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);a&&(r.p=a[1])}var i=r("bc3a"),s=r.n(i),u=r("a78e"),c=r.n(u),f="ed66e7a8-abf6-4262-822d-cd53cb4ae4fe";const l="EAP-Token";function d(){let e=c.a.get(l),t=Object({NODE_ENV:"production",VUE_APP_BASE_API:"http://192.168.4.106:7777",BASE_URL:"/"});return e||"development"!=t.NODE_ENV?e:f}function p(e){return c.a.set(l,e)}function h(){return c.a.remove(l)}var g={getToken:d,setToken:p,removeToken:h},y=r("5f72");const w=s.a.create({baseURL:"http://192.168.4.106:7777",timeout:3e4});let m=!0;try{m=!(!m||!y["Message"])}catch(Be){m=!1}w.defaults.headers.post["Content-Type"]="application/json;charset=UTF-8",w.interceptors.request.use(e=>{void 0===e.headers["Content-Type"]&&(e.headers["Content-Type"]="application/json;charset=UTF-8");const t=d();if(t&&(e.headers["Authorization"]="Bearer "+t),window.HIVUI_SETTING&&((window.HIVUI_SETTING.requestTimeout||0==window.HIVUI_SETTING.requestTimeout)&&(e.timeout=window.HIVUI_SETTING.requestTimeout),window.HIVUI_SETTING.projectName&&-1==e.url.indexOf("pn=")&&(!e.params||!e.params.pn))){let t=window.HIVUI_SETTING.projectName;-1==e.url.indexOf("?")?e.url=e.url+"?pn="+t:e.url=e.url+"&pn="+t}const r=e.headers["sign"];if(r||void 0===r){const t=(new Date).getTime().toString().substr(0,10);e.headers["timeStamp"]=t}return e.isDownload&&(e.responseType="blob",delete e.isDownload),e},e=>Promise.reject(e)),w.interceptors.response.use(e=>{if("arraybuffer"==e.config.responseType)return e;const t=e.data;if("application/octet-stream"==t.type||"application/octet-stream"==e.headers["content-type"])return e;if("blob"==e.config.responseType){let e=new FileReader;return e.readAsText(t,"utf-8"),e.onload=function(){let t=JSON.parse(e.result);return m&&Object(y["Message"])({message:t.msg||t.message||"Error",type:"error"})},Promise.reject(t)}if("200"!=e.status||e.data.status&&"200"!=e.data.status){if(e.config.data&&!1===JSON.parse(e.config.data).__isIntercept){if(e.config.data)try{t.options=JSON.parse(e.config.data)}catch(Be){}return Promise.reject(t)}return m&&Object(y["Message"])({message:t.msg||t.message||"Error",type:"error",duration:5e3}),401==t.status||t.data&&401==t.data.status?(m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;if(window.HIVUI_SETTING.isSingleLogin&&(e=window.HIVUI_SETTING.singleLoginUrl),e.endsWith("=")){let t=window.location.search.slice(1).split("&").filter(e=>{if(-1==e.indexOf("ticket"))return e}),r=window.location.origin+window.location.pathname;-1==window.HIVUI_SETTING.mainPageUrl.indexOf(r)&&(t.push("returnPage="+r),r=window.HIVUI_SETTING.mainPageUrl),r=r.replace(/#\//g,""),e=e+r+(t.length>0?"?":"")+t.join("&")}window.location.href=e}),Promise.reject(error)):Promise.reject(t,JSON.parse(e.config.data||"{}"))}if(t.dataPack=t.dataPack||t.data,(t.detailMsg||t.msg)&&m&&Object(y["Message"])({message:t.detailMsg||t.msg||"Error",type:t.popupbox&&t.popupbox.type||"success",duration:5e3}),e.config.data)try{t.options=JSON.parse(e.config.data)}catch(Be){}return t},e=>{let t=e.response;return t.config.data&&!1===JSON.parse(t.config.data).__isIntercept?Promise.reject(e):401==t.status||t.data&&401==t.data.status?(m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;if(window.HIVUI_SETTING.isSingleLogin&&(e=window.HIVUI_SETTING.singleLoginUrl),e.endsWith("=")){let t=window.location.search.slice(1).split("&").filter(e=>{if(-1==e.indexOf("ticket"))return e}),r=window.location.origin+window.location.pathname;-1==window.HIVUI_SETTING.mainPageUrl.indexOf(r)&&(t.push("returnPage="+r),r=window.HIVUI_SETTING.mainPageUrl),r=r.replace(/#\//g,""),e=e+r+(t.length>0?"?":"")+t.join("&")}window.location.href=e}),Promise.reject(e)):(console.log("err"+e),Promise.reject(e))});var b=w;function v(e){const t=d();if(window.HIVUI_SETTING&&((window.HIVUI_SETTING.requestTimeout||0==window.HIVUI_SETTING.requestTimeout)&&(e.timeout=window.HIVUI_SETTING.requestTimeout),window.HIVUI_SETTING.projectName)){let t=window.HIVUI_SETTING.projectName;-1==e.url.indexOf("?")?e.url=e.url+"?pn="+t:e.url=e.url+"&pn="+t}let r=e.url||"",n=e.method||"GET",o=e.data||{},a=e.success,i=void 0==e.async||e.async,s=e.fail;var u=new XMLHttpRequest;if(u.open(n,r,i),e.timeout&&(u.timeout=e.timeout),u.setRequestHeader("Content-Type","application/json;charset=UTF-8"),t&&u.setRequestHeader("Authorization","Bearer "+t),"{}"!=JSON.stringify(o)?u.send(JSON.stringify(o)):u.send(),0==i)if(200==u.status){var c=JSON.parse(u.responseText);a&&a.call(this,c)}else{c=JSON.parse(u.responseText);m&&Object(y["Message"])({message:c.msg||c.message||"Error",type:"error",duration:5e3}),401==c.status||c.data&&401==c.data.status?m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;e.endsWith("=")&&(e+=window.location.href),window.location.href=e}):s&&s.call(this,u.responseText)}else u.onreadystatechange=function(){if(4==u.readyState)if(200==u.status||"200"==u.status){var e=JSON.parse(u.responseText);a&&a.call(this,e)}else{e=JSON.parse(u.responseText);m&&Object(y["Message"])({message:e.msg||e.message||"Error",type:"error",duration:5e3}),401==e.status||e.data&&401==e.data.status?m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;e.endsWith("=")&&(e+=window.location.href),window.location.href=e}):s&&s.call(this,u.responseText)}}}var _=r("8237"),x=r.n(_);let T="/kk",S="/kkoauth";var I={projectName:"eap5csxm/admin",url:"http://192.168.4.106:7777",editorImgServer:"",serverUrl:"http://192.168.4.106:7777"+T,platform:"http://192.168.4.106:7777"+S,oauth:"http://192.168.4.106:7777"+S,userInfo:"http://192.168.4.106:7777"+T+"/sys/user/detail",saveUrl:"http://192.168.4.106:7777"+T+"/data/save",queryUrl:"http://192.168.4.106:7777"+T+"/data/query",exportUrl:"http://192.168.4.106:7777"+T+"/export/dataexcel",policyUrl:"http://192.168.4.106:7777"+T+"/data/policy",upload:"http://192.168.4.106:7777"+T+"/file/upload",download:"http://192.168.4.106:7777"+T+"/file/download",review:"http://192.168.4.106:7777"+T+"/file/review",getFlowInfo:"http://192.168.4.106:7777"+T+"/flow/open",getApprovalInfo:"http://192.168.4.106:7777"+T+"/flow/getApprovalInfo",processFlow:"http://192.168.4.106:7777"+T+"/flow/processFlow",umpireOrder:"http://192.168.4.106:7777"+T+"/flow/umpireOrder",queryTask:"http://192.168.4.106:7777"+T+"/flow/queryTask",withdrawtask:"http://192.168.4.106:7777"+T+"/flow/withdrawtask",taskDiagram:"http://192.168.4.106:7777"+T+"/flow/taskDiagram",editorImgServer:"",openOrdernumber:"http://192.168.4.106:7777"+T+"/flow/openOrdernumber"},E=b;function j(e,t){var r={username:e.trim(),password:x()(t)};let n=E({url:window.HIVUI_SETTING.login||window.HIVUI_SETTING.serverUrl+"/login/sso-login",method:"post",data:r});return n.then(e=>{const t=e;t.token&&p(t.token)}),n}function D(){if(!d())return new Promise((e,t)=>{e()});let e=E({url:window.HIVUI_SETTING.logout||window.HIVUI_SETTING.serverUrl+"/login/sso-logout",method:"post"});return e.then(e=>{h()}),e}function O(e){return E({url:window.HIVUI_SETTING.userInfo,method:"post",data:e})}function A(e,t){return E({url:window.HIVUI_SETTING.serverUrl+"/sys/user/update-pwd",method:"post",data:{oldPwd:e,newPwd:t}})}window.HIVUI_SETTING?E=window.HIVUI_SETTING.request:window.HIVUI_SETTING=I;var N={login:j,logout:D,getInfo:O,modifyPw:A},M={service:N,auth:g},k={string:"dbString",int:"dbInt",float:"dbFloat",double:"dbDouble",text:"dbText ",boolean:"dbBoolean ",datetime:"dbDatetime ",timestamp:"dbTimestamp "},R={pageIndex:"pageNum",pageSize:"pageSize",body:"__body",funcpath:"__funcpath",returnTotal:"__returnCount",zcQuery:"__zcQuery",slaveExport:"__slaveExport",sheetStyle:"__sheetStyle",sheetDatas:"__sheetDatas"},C=r("3852"),H=r.n(C);let U=class{constructor(e){e=e||{},this.className="WhereCondition",this.enabled=null,this.sign=null,this.name=null,this.dataType=null,this.tablefilter=null,this.value=null,this.enabled=!0,this.setValue(e.name,e.value,e.dataType,e.sign,e.tablefilter)}setValue(e,t,r,n,o){this.sign=n||"=",this.name=e||"",this.dataType=r||k.string,this.value=t,this.enabled=!0,this.tablefilter=void 0!=o&&o}getValue(){return{sign:this.sign,name:this.name,tablefilter:this.tablefilter,dataType:this.dataType,value:this.value,enabled:!0}}},P=class e{constructor(e,t=[]){if(e=e||{},this.params=t,this.className="Where",this.join=null,this.items=null,e.junction&&(e.join=e.junction),e.join||(e.join="and"),null==e.criterionData)e.join||(e.join="and"),this.setWhereData(e.join,[]);else{var r=typeof e.criterionData,n={};switch(r){case"string":n=JSON.parse(e.criterionData);break;case"object":n=e.criterionData;break}this.setCriterionData(n)}}setValue(e,t){this.setWhereData(e,t)}setWhereData(e,t){this.join=e||"and",this.items=t||[]}setCriterionData(e){var t=typeof e,r={};switch(t){case"string":r=JSON.parse(e);break;case"object":r=e;break}this.join=r.join||"and",this.items=[],this.recursiveSetCriteria(this,r.items)}recursiveSetCriteria(t,r){var n=this;if(null!=r&&0!=r.length)for(var o=r.length,a=0;a<o;a++){var i=r[a];if(i.join){var s=new e({join:i.join});this.recursiveSetCriteria(s,i.items),t.addWhere(s)}else if(i.sign){var u=i.name.replace("&[","").replace("]","");if(u=u.replace("this.get('","").replace("')",""),"function"==typeof i.value){var c=n.filterValue(i.value);t.addCondition(u,c,i.dataType,i.sign,!1,i.tablefilter)}else t.addCondition(u,i.value,i.dataType,i.sign,!1,i.tablefilter)}}else t.items=[]}filterValue(e){var t;return t=e.call(this,...this.params),t}addWhere(e){e&&this.items.push(e)}addCondition(e,t,r,n,o,a){!n&&this.$HI&&(n=this.$HI.queryOperate||"eq"),n||(n="eq");let i,s=["in","notIn"];if("function"===typeof t&&(t=t.call()),i=s.indexOf(n)>-1&&!(t instanceof Array)?t.split(","):t,o)for(var u=0;u<this.items.length;u++)if(e==this.items[u].name)return this.items[u].value=i,this.items[u].tablefilter=a,this.items[u].dataType=r||k.string,void(this.items[u].sign=n);var c=new U({name:e,tablefilter:a,value:i,sign:n,dataType:r||k.string});this.items.push(c)}add(e,t,r,n,o){this.addEqual(e,t,r,n,o)}_addEqual(e,t,r,n,o){this.addCondition(e,t,r,"eq",n,o)}_addArray(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"in",n,o)}_addNotIn(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"notIn",n,o)}_addIsNull(e,t,r,n,o){this.addCondition(e,"",r,"isnull",n,o)}_addIsNotNull(e,t,r,n,o){this.addCondition(e,"",r,"isnotnull",n,o)}_addNotEqual(e,t,r,n,o){this.addCondition(e,t,r,"noteq",n,o)}_addGreaterThan(e,t,r,n,o){this.addCondition(e,t,r,"gt",n,o)}_addLessThan(e,t,r,n,o){this.addCondition(e,t,r,"lt",n,o)}_addGreaterThanAndEqual(e,t,r,n,o){this.addCondition(e,t,r,"gteq",n,o)}_addLike(e,t,r,n,o){this.addCondition(e,t,r,"like",n,o)}_addLessThanAndEqual(e,t,r,n,o){this.addCondition(e,t,r,"lteq",n,o)}_addLeftLike(e,t,r,n,o){this.addCondition(e,t,r,"likeLeft",n,o)}_addRightLike(e,t,r,n,o){this.addCondition(e,t,r,"likeRight",n,o)}eq(e,t,r,n,o){this._addEqual(e,t,r,n,o)}def(e,t,r,n,o){this.addCondition(e,t,r,null,n,o)}in(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"in",n,o)}notIn(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"notIn",n,o)}inRange(e,t,r,n,o){this.addCondition(e,t,r,"inRange",n,o)}outRange(e,t,r,n,o){this.addCondition(e,t,r,"outRange",n,o)}between(e,t,r,n,o){this.addCondition(e,t,r,"between",n,o)}noteq(e,t,r,n,o){this._addNotEqual(e,t,r,n,o)}gt(e,t,r,n,o){this._addGreaterThan(e,t,r,n,o)}gteq(e,t,r,n,o){this._addGreaterThanAndEqual(e,t,r,n,o)}lt(e,t,r,n,o){this._addLessThan(e,t,r,n,o)}lteq(e,t,r,n,o){this._addLessThanAndEqual(e,t,r,n,o)}like(e,t,r,n,o,a){this._addLike(e,t,r,o,a)}leftLike(e,t,r,n,o){this._addLeftLike(e,t,r,n,o)}rightLike(e,t,r,n,o){this._addRightLike(e,t,r,n,o)}getItemByIndex(e){return this.items[e]}deleteItemByIndex(e){this.items.splice(e,1)}getData(){var e=this.items.length;if(0==e)return null;for(var t={join:this.join,items:[]},r=0;r<e;r++){var n=this.items[r];this.recursiveWhereData(t,n)}return t}recursiveWhereData(e,t){if(t.items){var r=t.items.length;if(r>0){for(var n={join:t.join,items:[]},o=0;o<r;o++){var a=t.items[o];this.recursiveWhereData(n,a)}e.items.push(n)}}else{var i=t.getValue();e.items.push(i)}}toJSON(){return this.getData()}toStr(){return JSON.stringify(this.getData())}getConditionByKey(e){for(var t=this.items.length,r=0;r<t;r++){var n=this.items[r];if(n.property&&n.property==e)return n}return null}setCustomWhere(t){for(var r=new e({join:t||"and"}),n=0,o=this.items.length;n<o;n++)this.items[n].property?r.addCondition(this.items[n].name,this.items[n].value,this.items[n].dataType,this.items[n].sign,this.items[n].isCover,this.items[n].tablefilter):this._recursionWhere(r,this.items[n].items);this.join=r.join,this.items=r.items}_recursionWhere(e,t){for(var r=0,n=t.length;r<n;r++)t[r].property?e.addCondition(t[r].name,t[r].value,t[r].dataType,t[r].sign,t[r].isCover,t[r].tablefilter):this._recursionWhere(e,t[r].items)}isPaging(){var e=R.pageIndex,t=R.pageSize;return!(!H()(this,e)||!H()(this,t))}setPage(e,t){var r=R.pageIndex,n=R.pageSize;-1!=e&&-1!=t||(e=-1,t=-1),this[r]=e,this[n]=t}getPageIndex(){var e=this[R.pageIndex];return-1==e?1:e}getPageSize(){var e=this[R.pageSize];return-1==e?1e3:e}};P.prototype.equal=P.prototype.eq;var F=P;class q{constructor(e){e=e||{},this.orderData=[],e.orderData&&(this.orderData=e.orderData)}getOrderItemModel(){return{name:"",desc:"",type:"desc"}}addDesc(e,t){this.addOrder(e,"desc",t)}addAsc(e,t){this.addOrder(e,"asc",t)}addOrder(e,t,r){var n=this.getOrderItemModel();n.name=e,n.desc=r,n.type=t,this.orderData.push(n)}toJSON(){return this.orderData}toStr(){return JSON.stringify(this.orderData)}}const B={timeSchemeKey:{today:"today",yesterday:"yesterday",week:"week",month:"month",premonth:"premonth",quarter:"quarter",year:"year",days7:"days7",days28:"days28",days84:"days84",halfyear:"halfyear",oneyear:"oneyear"},format:function(e,t){if(!e)return"";"string"==typeof e&&(e=B.strToDate(e)),t=t.replace(/HH/,"hh");var r={"M+":e.getMonth()+1,"d+":e.getDate(),"D+":e.getDate(),"h+":e.getHours(),"H+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),/(Y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),r)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?r[n]:("00"+r[n]).substr((""+r[n]).length)));return t},getServerTimeNow(){let e="";return window.eap.ajax({url:window.HIVUI_SETTING.getNowTimeUrl,method:"GET",async:!1,success:function(t){e=t.dataPack},fail:function(){}}),e},milliSecondsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),Math.abs(e.getTime()-t.getTime())},secondsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs((e.getTime()-t.getTime())/1e3):null},minutesBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/6e4)):null},hoursBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/36e5)):null},daysBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/864e5)):null},monthsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs(12*(e.getFullYear()-t.getFullYear()))+Math.abs(e.getMonth()-t.getMonth()):null},yearsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs(e.getFullYear()-t.getFullYear()):null},getWeekCn:function(e){var t=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");return"string"==typeof e&&(e=B.strToDate(e)),t[e.getDay()]},getWeek:function(e){return"string"==typeof e&&(e=B.strToDate(e)),e.getDay()},isDateTime:function(e){if(""==e.trim())return!1;var t=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/),r=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2}).(\d{1,6})$/),n=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2})$/);if(null==t&&null==r&&null==n)return!1;if(t=t||r||n,6==t.length){var o=new Date(t[1],t[2]-1,t[3],t[4],t[5]);let e=o.getFullYear()==t[1]&&o.getMonth()+1==t[2]&&o.getDate()==t[3]&&o.getHours()==t[4]&&o.getMinutes()==t[5];return 0!=e}var a=new Date(t[1],t[2]-1,t[3],t[4],t[5],t[6]);let i=a.getFullYear()==t[1]&&a.getMonth()+1==t[2]&&a.getDate()==t[3]&&a.getHours()==t[4]&&a.getMinutes()==t[5]&&a.getSeconds()==t[6];return 0!=i&&0!=i},isDate:function(e){if(""==e)return!0;var t=e.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);if(null==t)return!1;var r=new Date(t[1],t[3]-1,t[4]);let n=r.getFullYear()==t[1]&&r.getMonth()+1==t[3]&&r.getDate()==t[4];return 0!=n&&0!=n},dateof:function(e,t){let r;if(!e)return"";switch("string"==typeof e&&(e=B.strToDate(e)),t){case"y":r=e.getFullYear();break;case"m":r=e.getMonth()+1;break;case"min":r=e.getMinutes();break;case"time":r=B.format("yyyy-MM-dd hh:mm:ss");break;case"date":r=B.format("yyyy-MM-dd");break;case"weekCn":r=e.week();break;case"week":r=e.getDay();break;case"weekInYear":var n=new Date(e.getFullYear(),0,1),o=parseInt("1065432".charAt(n.getDay()));o=e.getTime()-n.getTime()-24*o*60*60*1e3,o=Math.ceil(o/6048e5),r=1!=n.getDay()?o+1:o;break;default:r=""}return r},strFormatDate:function(e,t){if(""==e||null==e)return"";let r=B.strToDate(e);return t?r.format(t):r},strToDate:function(e){if(!e)return"";if(e&&e.constructor===Date)return e;"string"==typeof e&&e.indexOf(".")>-1&&(e=e.split(".")[0]),-1==e.indexOf("-")&&-1==e.indexOf(".")&&-1!=e.indexOf(":")&&(e=B.dateOf(new Date)+" "+e);var t=e.split(/[- :]/);return""!=e&&1==t.length?(console.log(e+" Invalid Date"),""):new Date(Date.parse(e))},getQuarterStartDate:function(){var e=new Date,t="";return e.getMonth()<3?(t=new Date(e.getFullYear(),0,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>2&&e.getMonth()<6?(t=new Date(e.getFullYear(),3,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>5&&e.getMonth()<9?(t=new Date(e.getFullYear(),6,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>8?(t=new Date(e.getFullYear(),9,1),this.format(t,"yyyy-MM-dd")):void 0},getQuarterEndDate:function(){var e=new Date,t="";return e.getMonth()<3?(t=new Date(e.getFullYear(),2,31),this.format(t,"yyyy-MM-dd")):e.getMonth()>2&&e.getMonth()<6?(t=new Date(e.getFullYear(),6,30),this.format(t,"yyyy-MM-dd")):e.getMonth()>5&&e.getMonth()<9?(t=new Date(e.getFullYear(),8,30),this.format(t,"yyyy-MM-dd")):e.getMonth()>8?(t=new Date(e.getFullYear(),11,31),this.format(t,"yyyy-MM-dd")):void 0},getYearStartDate:function(){var e=new Date,t=new Date(e.getFullYear(),0,1);return this.format(t,"yyyy-MM-dd")},getYearEndDate:function(){var e=new Date,t=new Date(e.getFullYear(),11,31);return this.format(t,"yyyy-MM-dd")},getMonthDays:function(e,t){if(void 0==t){var r=new Date;t=r.getFullYear()}e--;var n=new Date(t,e,1);return n.setDate(n.getDate()+32-n.getDate()),32-n.getDate()},getWeekStartDate:function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());return this.format(t,"yyyy-MM-dd")},getWeekEndDate:function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()+(6-e.getDay()));return this.format(t,"yyyy-MM-dd")},getMonthStartDate:function(e){var t=new Date;e&&"string"==typeof e&&(t=B.strToDate(e));var r=new Date(t.getFullYear(),t.getMonth(),1);return this.format(r,"yyyy-MM-dd")},getMonthEndDate:function(e){var t=new Date;e&&"string"==typeof e&&(t=B.strToDate(e));let r=t.getFullYear(),n=t.getMonth();var o=new Date(new Date(r,n+1,1).getTime()-864e5);return this.format(o,"yyyy-MM-dd")},now:function(e){return e=e||"yyyy-MM-dd hh:mm:ss",this.format(new Date,e)},currentNow:function(){return new Date},TimeScheme:function(e){var t=" 00:00:00到",r=" 23:59:59";switch(e){case"today":return this.format(this.strToDate(this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"yesterday":return this.format(this.dateAdd("d",-1,this.now()),"yyyy-MM-dd")+t+this.format(this.dateAdd("d",-1,this.now()),"yyyy-MM-dd")+r;case"week":return this.getWeekStartDate()+t+this.getWeekEndDate()+r;case"month":return this.getMonthStartDate()+t+this.getMonthEndDate()+r;case"quarter":return this.getQuarterStartDate()+t+this.getQuarterEndDate()+r;case"year":return this.getYearStartDate()+t+this.getYearEndDate()+r;case"days7":return this.format(this.dateAdd("d",-7,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"days28":return this.format(this.dateAdd("d",-28,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"days84":return this.format(this.dateAdd("d",-84,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"halfyear":return this.format(this.dateAdd("d",-180,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"oneyear":return this.format(this.dateAdd("d",-365,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r}},dateAdd:function(e,t,r){"string"==typeof r&&(r=B.strToDate(r));var n=new Date(r);e=(e||"d").toLowerCase();let o,a=parseInt(t);switch(e){case"y":o=n.setYear(n.getFullYear()+a);break;case"q":o=n.setMonth(n.getMonth()+3*a);break;case"m":var i=n.getFullYear(),s=n.getMonth()+1,u=n.getDate(),c=i,f=s+a,l=u;while(f>12)c++,f-=12;var d=new Date(c,f-1,l);while(d.getMonth()!=f-1)l--,d=new Date(c,f-1,l);o=d;break;case"d":o=n.setDate(n.getDate()+a);break;case"h":o=n.setHours(n.getHours()+a);break;case"mi":o=n.setMinutes(n.getMinutes()+a);break;case"s":o=n.setSeconds(n.getSeconds()+a);break;default:o=n.setDate(n.getDate()+a);break}return new Date(o)}};var z=B;r("3e8f");const V={accDiv:function(e,t){var r,n,o=0,a=0;try{o=e.toString().split(".")[1].length}catch(Be){o=0}try{a=t.toString().split(".")[1].length}catch(Be){a=0}return r=Number(e.toString().replace(".","")),n=Number(t.toString().replace(".","")),r/n*Math.pow(10,a-o)},accMul:function(e,t){var r=0,n=e.toString(),o=t.toString();try{r+=n.split(".")[1].length}catch(Be){r=0}try{r+=o.split(".")[1].length}catch(Be){r+=0}return Number(n.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,r)},accAdd:function(e,t){var r,n,o;try{r=e.toString().split(".")[1].length}catch(Be){r=0}try{n=t.toString().split(".")[1].length}catch(Be){n=0}return o=Math.pow(10,Math.max(r,n)),(V.accMul(e,o)+V.accMul(t,o))/o},toFixed(e,t){var r,n,o=0,a=e+"",i=a.indexOf(".");a.substr(i+t+1,1)>=5&&(o=1),n=Math.pow(10,t),r=Math.floor(e*n)+o;var s=r/n+"";i=s.indexOf("."),i<0&&(s+=".",i=s.indexOf("."));var u=s.length-(i+1);if(u<t)for(var c=0;c<t-u;c++)s+=0;return s},formatCn(e){let t=["角","分"],r=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],n=[["元","万","亿"],["","拾","佰","仟"]],o=e<0?"欠":"";e=Math.abs(e);let a="";for(let i=0;i<t.length;i++)a+=(r[Math.floor(10*e*Math.pow(10,i))%10]+t[i]).replace(/零./,"");a=a||"整",e=Math.floor(e);for(let i=0;i<n[0].length&&e>0;i++){let t="";for(let o=0;o<n[1].length&&e>0;o++)t=r[e%10]+n[1][o]+t,e=Math.floor(e/10);a=t.replace(/(零.)*零$/,"").replace(/^$/,"零")+n[0][i]+a}return o+a.replace(/(零.)*零元/,"元").replace(/(零.)+/g,"零").replace(/^整$/,"零元整")},format:function(e,t){if(t||(t="000,0.00"),t.indexOf("¥")>-1&&(t="¥000,0.00"),isFinite(e)&&(e=parseFloat(e)),t.indexOf("%")>-1&&(e*=100),e=isNaN(e)?NaN:e,isNaN(e))return"";let r,n,o,a,i,s,u,c,f,l=/[^\d\.]/g,d=",",p=".",h=e<0;if(e=Math.abs(e),r=-1!=t.indexOf(","),n=t.replace(l,"").split("."),n.length>2)alert("对比格式无效");else if(n.length>1){let t=n[1].length||0,r=Math.pow(10,t);e=Number(Math.round(e*r)/r).toFixed(t)}else{let t=n[0].length||0,r=Math.pow(10,t);e=Number(Math.round(e*r)/r).toFixed(0)}if(o=e.toString(),n=o.split("."),r){for(a=n[0],i=[],s=a.length,u=Math.floor(s/3),c=a.length%3||3,f=0;f<s;f+=c)0!==f&&(c=3),i[i.length]=a.substr(f,c),u-=1;o=i.join(d),n[1]&&(o+=p+n[1])}else n[1]&&(o=n[0]+p+n[1]);return h&&(h=""!==o.replace(/[^1-9]/g,"")),(h?"-":"")+t.replace(/[\d,?\.?]+/,o)}};var L=V;const G={a:"啊阿锕",ai:"埃挨哎唉哀皑癌蔼矮艾碍爱隘诶捱嗳嗌嫒瑷暧砹锿霭",an:"鞍氨安俺按暗岸胺案谙埯揞犴庵桉铵鹌顸黯",ang:"肮昂盎",ao:"凹敖熬翱袄傲奥懊澳坳拗嗷噢岙廒遨媪骜聱螯鏊鳌鏖",ba:"芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸茇菝萆捭岜灞杷钯粑鲅魃",bai:"白柏百摆佰败拜稗薜掰鞴",ban:"斑班搬扳般颁板版扮拌伴瓣半办绊阪坂豳钣瘢癍舨",bang:"邦帮梆榜膀绑棒磅蚌镑傍谤蒡螃",bao:"苞胞包褒雹保堡饱宝抱报暴豹鲍爆勹葆宀孢煲鸨褓趵龅",bo:"剥薄玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳亳蕃啵饽檗擘礴钹鹁簸跛",bei:"杯碑悲卑北辈背贝钡倍狈备惫焙被孛陂邶埤蓓呗怫悖碚鹎褙鐾",ben:"奔苯本笨畚坌锛",beng:"崩绷甭泵蹦迸唪嘣甏",bi:"逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛匕仳俾芘荜荸吡哔狴庳愎滗濞弼妣婢嬖璧贲畀铋秕裨筚箅篦舭襞跸髀",bian:"鞭边编贬扁便变卞辨辩辫遍匾弁苄忭汴缏煸砭碥稹窆蝙笾鳊",biao:"标彪膘表婊骠飑飙飚灬镖镳瘭裱鳔",bie:"鳖憋别瘪蹩鳘",bin:"彬斌濒滨宾摈傧浜缤玢殡膑镔髌鬓",bing:"兵冰柄丙秉饼炳病并禀邴摒绠枋槟燹",bu:"捕卜哺补埠不布步簿部怖拊卟逋瓿晡钚醭",ca:"擦嚓礤",cai:"猜裁材才财睬踩采彩菜蔡",can:"餐参蚕残惭惨灿骖璨粲黪",cang:"苍舱仓沧藏伧",cao:"操糙槽曹草艹嘈漕螬艚",ce:"厕策侧册测刂帻恻",ceng:"层蹭噌",cha:"插叉茬茶查碴搽察岔差诧猹馇汊姹杈楂槎檫钗锸镲衩",chai:"拆柴豺侪茈瘥虿龇",chan:"搀掺蝉馋谗缠铲产阐颤冁谄谶蒇廛忏潺澶孱羼婵嬗骣觇禅镡裣蟾躔",chang:"昌猖场尝常长偿肠厂敞畅唱倡伥鬯苌菖徜怅惝阊娼嫦昶氅鲳",chao:"超抄钞朝嘲潮巢吵炒怊绉晁耖",che:"车扯撤掣彻澈坼屮砗",chen:"郴臣辰尘晨忱沉陈趁衬称谌抻嗔宸琛榇肜胂碜龀",cheng:"撑城橙成呈乘程惩澄诚承逞骋秤埕嵊徵浈枨柽樘晟塍瞠铖裎蛏酲",chi:"吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽傺墀芪茌搋叱哧啻嗤彳饬沲媸敕胝眙眵鸱瘛褫蚩螭笞篪豉踅踟魑",chong:"充冲虫崇宠茺忡憧铳艟",chou:"抽酬畴踌稠愁筹仇绸瞅丑俦圳帱惆溴妯瘳雠鲋",chu:"臭初出橱厨躇锄雏滁除楚础储矗搐触处亍刍憷绌杵楮樗蜍蹰黜",chuan:"揣川穿椽传船喘串掾舛惴遄巛氚钏镩舡",chuang:"疮窗幢床闯创怆",chui:"吹炊捶锤垂陲棰槌",chun:"春椿醇唇淳纯蠢促莼沌肫朐鹑蝽",chuo:"戳绰蔟辶辍镞踔龊",ci:"疵茨磁雌辞慈瓷词此刺赐次荠呲嵯鹚螅糍趑",cong:"聪葱囱匆从丛偬苁淙骢琮璁枞",cu:"凑粗醋簇猝殂蹙",cuan:"蹿篡窜汆撺昕爨",cui:"摧崔催脆瘁粹淬翠萃悴璀榱隹",cun:"村存寸磋忖皴",cuo:"撮搓措挫错厝脞锉矬痤鹾蹉躜",da:"搭达答瘩打大耷哒嗒怛妲疸褡笪靼鞑",dai:"呆歹傣戴带殆代贷袋待逮怠埭甙呔岱迨逯骀绐玳黛",dan:"耽担丹单郸掸胆旦氮但惮淡诞弹蛋亻儋卩萏啖澹檐殚赕眈瘅聃箪",dang:"当挡党荡档谠凼菪宕砀铛裆",dao:"刀捣蹈倒岛祷导到稻悼道盗叨啁忉洮氘焘忑纛",de:"德得的锝",deng:"蹬灯登等瞪凳邓噔嶝戥磴镫簦",di:"堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔氐籴诋谛邸坻莜荻嘀娣柢棣觌砥碲睇镝羝骶",dian:"颠掂滇碘点典靛垫电佃甸店惦奠淀殿丶阽坫埝巅玷癜癫簟踮",diao:"碉叼雕凋刁掉吊钓调轺铞蜩粜貂",die:"跌爹碟蝶迭谍叠佚垤堞揲喋渫轶牒瓞褶耋蹀鲽鳎",ding:"丁盯叮钉顶鼎锭定订丢仃啶玎腚碇町铤疔耵酊",dong:"东冬董懂动栋侗恫冻洞垌咚岽峒夂氡胨胴硐鸫",dou:"兜抖斗陡豆逗痘蔸钭窦窬蚪篼酡",du:"都督毒犊独读堵睹赌杜镀肚度渡妒芏嘟渎椟橐牍蠹笃髑黩",duan:"端短锻段断缎彖椴煅簖",dui:"堆兑队对怼憝碓",dun:"墩吨蹲敦顿囤钝盾遁炖砘礅盹镦趸",duo:"掇哆多夺垛躲朵跺舵剁惰堕咄哚缍柁铎裰踱",e:"蛾峨鹅俄额讹娥恶厄扼遏鄂饿噩谔垩垭苊莪萼呃愕屙婀轭曷腭硪锇锷鹗颚鳄",en:"恩蒽摁唔嗯",er:"而儿耳尔饵洱二贰迩珥铒鸸鲕",fa:"发罚筏伐乏阀法珐垡砝",fan:"藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛蘩幡犭梵攵燔畈蹯",fang:"坊芳方肪房防妨仿访纺放匚邡彷钫舫鲂",fei:"菲非啡飞肥匪诽吠肺废沸费芾狒悱淝妃绋绯榧腓斐扉祓砩镄痱蜚篚翡霏鲱",fen:"芬酚吩氛分纷坟焚汾粉奋份忿愤粪偾瀵棼愍鲼鼢",feng:"丰封枫蜂峰锋风疯烽逢冯缝讽奉凤俸酆葑沣砜",fu:"佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐匐凫郛芙苻茯莩菔呋幞滏艴孚驸绂桴赙黻黼罘稃馥虍蚨蜉蝠蝮麸趺跗鳆",ga:"噶嘎蛤尬呷尕尜旮钆",gai:"该改概钙盖溉丐陔垓戤赅胲",gan:"干甘杆柑竿肝赶感秆敢赣坩苷尴擀泔淦澉绀橄旰矸疳酐",gang:"冈刚钢缸肛纲岗港戆罡颃筻",gong:"杠工攻功恭龚供躬公宫弓巩汞拱贡共蕻廾咣珙肱蚣蛩觥",gao:"篙皋高膏羔糕搞镐稿告睾诰郜蒿藁缟槔槁杲锆",ge:"哥歌搁戈鸽胳疙割革葛格阁隔铬个各鬲仡哿塥嗝纥搿膈硌铪镉袼颌虼舸骼髂",gei:"给",gen:"根跟亘茛哏艮",geng:"耕更庚羹埂耿梗哽赓鲠",gou:"钩勾沟苟狗垢构购够佝诟岣遘媾缑觏彀鸲笱篝鞲",gu:"辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇嘏诂菰哌崮汩梏轱牯牿胍臌毂瞽罟钴锢瓠鸪鹄痼蛄酤觚鲴骰鹘",gua:"刮瓜剐寡挂褂卦诖呱栝鸹",guai:"乖拐怪哙",guan:"棺关官冠观管馆罐惯灌贯倌莞掼涫盥鹳鳏",guang:"光广逛犷桄胱疒",gui:"瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽匦刿庋宄妫桧炅晷皈簋鲑鳜",gun:"辊滚棍丨衮绲磙鲧",guo:"锅郭国果裹过馘蠃埚掴呙囗帼崞猓椁虢锞聒蜮蜾蝈",ha:"哈",hai:"骸孩海氦亥害骇咴嗨颏醢",han:"酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉邗菡撖阚瀚晗焓颔蚶鼾",hen:"夯痕很狠恨",hang:"杭航沆绗珩桁",hao:"壕嚎豪毫郝好耗号浩薅嗥嚆濠灏昊皓颢蚝",he:"呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺诃劾壑藿嗑嗬阖盍蚵翮",hei:"嘿黑",heng:"哼亨横衡恒訇蘅",hong:"轰哄烘虹鸿洪宏弘红黉讧荭薨闳泓",hou:"喉侯猴吼厚候后堠後逅瘊篌糇鲎骺",hu:"呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户冱唿囫岵猢怙惚浒滹琥槲轷觳烀煳戽扈祜鹕鹱笏醐斛",hua:"花哗华猾滑画划化话劐浍骅桦铧稞",huai:"槐徊怀淮坏还踝",huan:"欢环桓缓换患唤痪豢焕涣宦幻郇奂垸擐圜洹浣漶寰逭缳锾鲩鬟",huang:"荒慌黄磺蝗簧皇凰惶煌晃幌恍谎隍徨湟潢遑璜肓癀蟥篁鳇",hui:"灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘诙茴荟蕙哕喙隳洄彗缋珲晖恚虺蟪麾",hun:"荤昏婚魂浑混诨馄阍溷缗",huo:"豁活伙火获或惑霍货祸攉嚯夥钬锪镬耠蠖",ji:"击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪居丌乩剞佶佴脔墼芨芰萁蒺蕺掎叽咭哜唧岌嵴洎彐屐骥畿玑楫殛戟戢赍觊犄齑矶羁嵇稷瘠瘵虮笈笄暨跻跽霁鲚鲫髻麂",jia:"嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁伽郏拮岬浃迦珈戛胛恝铗镓痂蛱笳袈跏",jian:"歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僭谏谫菅蒹搛囝湔蹇謇缣枧柙楗戋戬牮犍毽腱睑锏鹣裥笕箴翦趼踺鲣鞯",jiang:"僵姜将浆江疆蒋桨奖讲匠酱降茳洚绛缰犟礓耩糨豇",jiao:"蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫佼僬茭挢噍峤徼姣纟敫皎鹪蛟醮跤鲛",jie:"窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届偈讦诘喈嗟獬婕孑桀獒碣锴疖袷颉蚧羯鲒骱髫",jin:"巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽卺荩堇噤馑廑妗缙瑾槿赆觐钅锓衿矜",jing:"劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净刭儆阱菁獍憬泾迳弪婧肼胫腈旌",jiong:"炯窘冂迥扃",jiu:"揪究纠玖韭久灸九酒厩救旧臼舅咎就疚僦啾阄柩桕鹫赳鬏",ju:"鞠拘狙疽驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧倨讵苣苴莒掬遽屦琚枸椐榘榉橘犋飓钜锔窭裾趄醵踽龃雎鞫",juan:"捐鹃娟倦眷卷绢鄄狷涓桊蠲锩镌隽",jue:"撅攫抉掘倔爵觉决诀绝厥劂谲矍蕨噘崛獗孓珏桷橛爝镢蹶觖",jun:"均菌钧军君峻俊竣浚郡骏捃狻皲筠麇",ka:"喀咖卡佧咔胩",ke:"咯坷苛柯棵磕颗科壳咳可渴克刻客课岢恪溘骒缂珂轲氪瞌钶疴窠蝌髁",kai:"开揩楷凯慨剀垲蒈忾恺铠锎",kan:"刊堪勘坎砍看侃凵莰莶戡龛瞰",kang:"康慷糠扛抗亢炕坑伉闶钪",kao:"考拷烤靠尻栲犒铐",ken:"肯啃垦恳垠裉颀",keng:"吭忐铿",kong:"空恐孔控倥崆箜",kou:"抠口扣寇芤蔻叩眍筘",ku:"枯哭窟苦酷库裤刳堀喾绔骷",kua:"夸垮挎跨胯侉",kuai:"块筷侩快蒯郐蒉狯脍",kuan:"宽款髋",kuang:"匡筐狂框矿眶旷况诓诳邝圹夼哐纩贶",kui:"亏盔岿窥葵奎魁傀馈愧溃馗匮夔隗揆喹喟悝愦阕逵暌睽聩蝰篑臾跬",kun:"坤昆捆困悃阃琨锟醌鲲髡",kuo:"括扩廓阔蛞",la:"垃拉喇蜡腊辣啦剌摺邋旯砬瘌",lai:"莱来赖崃徕涞濑赉睐铼癞籁",lan:"蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥啉岚懔漤榄斓罱镧褴",lang:"琅榔狼廊郎朗浪莨蒗啷阆锒稂螂",lao:"捞劳牢老佬姥酪烙涝唠崂栳铑铹痨醪",le:"勒乐肋仂叻嘞泐鳓",lei:"雷镭蕾磊累儡垒擂类泪羸诔荽咧漯嫘缧檑耒酹",ling:"棱冷拎玲菱零龄铃伶羚凌灵陵岭领另令酃塄苓呤囹泠绫柃棂瓴聆蛉翎鲮",leng:"楞愣",li:"厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐痢立粒沥隶力璃哩俪俚郦坜苈莅蓠藜捩呖唳喱猁溧澧逦娌嫠骊缡珞枥栎轹戾砺詈罹锂鹂疠疬蛎蜊蠡笠篥粝醴跞雳鲡鳢黧",lian:"俩联莲连镰廉怜涟帘敛脸链恋炼练挛蔹奁潋濂娈琏楝殓臁膦裢蠊鲢",liang:"粮凉梁粱良两辆量晾亮谅墚椋踉靓魉",liao:"撩聊僚疗燎寥辽潦了撂镣廖料蓼尥嘹獠寮缭钌鹩耢",lie:"列裂烈劣猎冽埒洌趔躐鬣",lin:"琳林磷霖临邻鳞淋凛赁吝蔺嶙廪遴檩辚瞵粼躏麟",liu:"溜琉榴硫馏留刘瘤流柳六抡偻蒌泖浏遛骝绺旒熘锍镏鹨鎏",long:"龙聋咙笼窿隆垄拢陇弄垅茏泷珑栊胧砻癃",lou:"楼娄搂篓漏陋喽嵝镂瘘耧蝼髅",lu:"芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮垆摅撸噜泸渌漉璐栌橹轳辂辘氇胪镥鸬鹭簏舻鲈",lv:"驴吕铝侣旅履屡缕虑氯律率滤绿捋闾榈膂稆褛",luan:"峦孪滦卵乱栾鸾銮",lue:"掠略锊",lun:"轮伦仑沦纶论囵",luo:"萝螺罗逻锣箩骡裸落洛骆络倮荦摞猡泺椤脶镙瘰雒",ma:"妈麻玛码蚂马骂嘛吗唛犸嬷杩麽",mai:"埋买麦卖迈脉劢荬咪霾",man:"瞒馒蛮满蔓曼慢漫谩墁幔缦熳镘颟螨鳗鞔",mang:"芒茫盲忙莽邙漭朦硭蟒",meng:"氓萌蒙檬盟锰猛梦孟勐甍瞢懵礞虻蜢蠓艋艨黾",miao:"猫苗描瞄藐秒渺庙妙喵邈缈缪杪淼眇鹋蜱",mao:"茅锚毛矛铆卯茂冒帽貌贸侔袤勖茆峁瑁昴牦耄旄懋瞀蛑蝥蟊髦",me:"么",mei:"玫枚梅酶霉煤没眉媒镁每美昧寐妹媚坶莓嵋猸浼湄楣镅鹛袂魅",men:"门闷们扪玟焖懑钔",mi:"眯醚靡糜迷谜弥米秘觅泌蜜密幂芈冖谧蘼嘧猕獯汨宓弭脒敉糸縻麋",mian:"棉眠绵冕免勉娩缅面沔湎腼眄",mie:"蔑灭咩蠛篾",min:"民抿皿敏悯闽苠岷闵泯珉",ming:"明螟鸣铭名命冥茗溟暝瞑酩",miu:"谬",mo:"摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谟茉蓦馍嫫镆秣瘼耱蟆貊貘",mou:"谋牟某厶哞婺眸鍪",mu:"拇牡亩姆母墓暮幕募慕木目睦牧穆仫苜呒沐毪钼",na:"拿哪呐钠那娜纳内捺肭镎衲箬",nai:"氖乃奶耐奈鼐艿萘柰",nan:"南男难囊喃囡楠腩蝻赧",nao:"挠脑恼闹孬垴猱瑙硇铙蛲",ne:"淖呢讷",nei:"馁",nen:"嫩能枘恁",ni:"妮霓倪泥尼拟你匿腻逆溺伲坭猊怩滠昵旎祢慝睨铌鲵",nian:"蔫拈年碾撵捻念廿辇黏鲇鲶",niang:"娘酿",niao:"鸟尿茑嬲脲袅",nie:"捏聂孽啮镊镍涅乜陧蘖嗫肀颞臬蹑",nin:"您柠",ning:"狞凝宁拧泞佞蓥咛甯聍",niu:"牛扭钮纽狃忸妞蚴",nong:"脓浓农侬",nu:"奴努怒呶帑弩胬孥驽",nv:"女恧钕衄",nuan:"暖",nuenue:"虐",nue:"疟谑",nuo:"挪懦糯诺傩搦喏锘",ou:"哦欧鸥殴藕呕偶沤怄瓯耦",pa:"啪趴爬帕怕琶葩筢",pai:"拍排牌徘湃派俳蒎",pan:"攀潘盘磐盼畔判叛爿泮袢襻蟠蹒",pang:"乓庞旁耪胖滂逄",pao:"抛咆刨炮袍跑泡匏狍庖脬疱",pei:"呸胚培裴赔陪配佩沛掊辔帔淠旆锫醅霈",pen:"喷盆湓",peng:"砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯堋嘭怦蟛",pi:"砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬丕陴邳郫圮鼙擗噼庀媲纰枇甓睥罴铍痦癖疋蚍貔",pian:"篇偏片骗谝骈犏胼褊翩蹁",piao:"飘漂瓢票剽嘌嫖缥殍瞟螵",pie:"撇瞥丿苤氕",pin:"拼频贫品聘拚姘嫔榀牝颦",ping:"乒坪苹萍平凭瓶评屏俜娉枰鲆",po:"坡泼颇婆破魄迫粕叵鄱溥珀钋钷皤笸",pou:"剖裒踣",pu:"扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑匍噗濮璞氆镤镨蹼",qi:"期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫亟亓圻芑萋葺嘁屺岐汔淇骐绮琪琦杞桤槭欹祺憩碛蛴蜞綦綮趿蹊鳍麒",qia:"掐恰洽葜",qian:"牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉佥阡芊芡荨掮岍悭慊骞搴褰缱椠肷愆钤虔箝",qiang:"枪呛腔羌墙蔷强抢嫱樯戗炝锖锵镪襁蜣羟跫跄",qiao:"橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍劁诮谯荞愀憔缲樵毳硗跷鞒",qie:"切茄且怯窃郄唼惬妾挈锲箧",qin:"钦侵亲秦琴勤芹擒禽寝沁芩蓁蕲揿吣嗪噙溱檎螓衾",qing:"青轻氢倾卿清擎晴氰情顷请庆倩苘圊檠磬蜻罄箐謦鲭黥",qiong:"琼穷邛茕穹筇銎",qiu:"秋丘邱球求囚酋泅俅氽巯艽犰湫逑遒楸赇鸠虬蚯蝤裘糗鳅鼽",qu:"趋区蛆曲躯屈驱渠取娶龋趣去诎劬蕖蘧岖衢阒璩觑氍祛磲癯蛐蠼麴瞿黢",quan:"圈颧权醛泉全痊拳犬券劝诠荃獾悛绻辁畎铨蜷筌鬈",que:"缺炔瘸却鹊榷确雀阙悫",qun:"裙群逡",ran:"然燃冉染苒髯",rang:"瓤壤攘嚷让禳穰",rao:"饶扰绕荛娆桡",ruo:"惹若弱",re:"热偌",ren:"壬仁人忍韧任认刃妊纫仞荏葚饪轫稔衽",reng:"扔仍",ri:"日",rong:"戎茸蓉荣融熔溶容绒冗嵘狨缛榕蝾",rou:"揉柔肉糅蹂鞣",ru:"茹蠕儒孺如辱乳汝入褥蓐薷嚅洳溽濡铷襦颥",ruan:"软阮朊",rui:"蕊瑞锐芮蕤睿蚋",run:"闰润",sa:"撒洒萨卅仨挲飒",sai:"腮鳃塞赛噻",san:"三叁伞散彡馓氵毵糁霰",sang:"桑嗓丧搡磉颡",sao:"搔骚扫嫂埽臊瘙鳋",se:"瑟色涩啬铩铯穑",sen:"森",seng:"僧",sha:"莎砂杀刹沙纱傻啥煞脎歃痧裟霎鲨",shai:"筛晒酾",shan:"珊苫杉山删煽衫闪陕擅赡膳善汕扇缮剡讪鄯埏芟潸姗骟膻钐疝蟮舢跚鳝",shang:"墒伤商赏晌上尚裳垧绱殇熵觞",shao:"梢捎稍烧芍勺韶少哨邵绍劭苕潲蛸笤筲艄",she:"奢赊蛇舌舍赦摄射慑涉社设厍佘猞畲麝",shen:"砷申呻伸身深娠绅神沈审婶甚肾慎渗诜谂吲哂渖椹矧蜃",sheng:"声生甥牲升绳省盛剩胜圣丞渑媵眚笙",shi:"师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试谥埘莳蓍弑唑饣轼耆贳炻礻铈铊螫舐筮豕鲥鲺",shou:"收手首守寿授售受瘦兽扌狩绶艏",shu:"蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕倏塾菽忄沭涑澍姝纾毹腧殳镯秫鹬",shua:"刷耍唰涮",shuai:"摔衰甩帅蟀",shuan:"栓拴闩",shuang:"霜双爽孀",shui:"谁水睡税",shun:"吮瞬顺舜恂",shuo:"说硕朔烁蒴搠嗍濯妁槊铄",si:"斯撕嘶思私司丝死肆寺嗣四伺似饲巳厮俟兕菥咝汜泗澌姒驷缌祀祠锶鸶耜蛳笥",song:"松耸怂颂送宋讼诵凇菘崧嵩忪悚淞竦",sou:"搜艘擞嗽叟嗖嗾馊溲飕瞍锼螋",su:"苏酥俗素速粟僳塑溯宿诉肃夙谡蔌嗉愫簌觫稣",suan:"酸蒜算",sui:"虽隋随绥髓碎岁穗遂隧祟蓑冫谇濉邃燧眭睢",sun:"孙损笋荪狲飧榫跣隼",suo:"梭唆缩琐索锁所唢嗦娑桫睃羧",ta:"塌他它她塔獭挞蹋踏闼溻遢榻沓",tai:"胎苔抬台泰酞太态汰邰薹肽炱钛跆鲐",tan:"坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭郯蕈昙钽锬覃",tang:"汤塘搪堂棠膛唐糖傥饧溏瑭铴镗耥螗螳羰醣",thang:"倘躺淌",theng:"趟烫",tao:"掏涛滔绦萄桃逃淘陶讨套挑鼗啕韬饕",te:"特",teng:"藤腾疼誊滕",ti:"梯剔踢锑提题蹄啼体替嚏惕涕剃屉荑悌逖绨缇鹈裼醍",tian:"天添填田甜恬舔腆掭忝阗殄畋钿蚺",tiao:"条迢眺跳佻祧铫窕龆鲦",tie:"贴铁帖萜餮",ting:"厅听烃汀廷停亭庭挺艇莛葶婷梃蜓霆",tong:"通桐酮瞳同铜彤童桶捅筒统痛佟僮仝茼嗵恸潼砼",tou:"偷投头透亠",tu:"凸秃突图徒途涂屠土吐兔堍荼菟钍酴",tuan:"湍团疃",tui:"推颓腿蜕褪退忒煺",tun:"吞屯臀饨暾豚窀",tuo:"拖托脱鸵陀驮驼椭妥拓唾乇佗坨庹沱柝砣箨舄跎鼍",wa:"挖哇蛙洼娃瓦袜佤娲腽",wai:"歪外",wan:"豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕剜芄苋菀纨绾琬脘畹蜿箢",wang:"汪王亡枉网往旺望忘妄罔尢惘辋魍",wei:"威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫倭偎诿隈葳薇帏帷崴嵬猥猬闱沩洧涠逶娓玮韪軎炜煨熨痿艉鲔",wen:"瘟温蚊文闻纹吻稳紊问刎愠阌汶璺韫殁雯",weng:"嗡翁瓮蓊蕹",wo:"挝蜗涡窝我斡卧握沃莴幄渥杌肟龌",wu:"巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误兀仵阢邬圬芴庑怃忤浯寤迕妩骛牾焐鹉鹜蜈鋈鼯",xi:"昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细僖兮隰郗茜葸蓰奚唏徙饩阋浠淅屣嬉玺樨曦觋欷熹禊禧钸皙穸蜥蟋舾羲粞翕醯鼷",xia:"瞎虾匣霞辖暇峡侠狭下厦夏吓掀葭嗄狎遐瑕硖瘕罅黠",xian:"锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线冼藓岘猃暹娴氙祆鹇痫蚬筅籼酰跹",xiang:"相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象芗葙饷庠骧缃蟓鲞飨",xiao:"萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效哓咻崤潇逍骁绡枭枵筱箫魈",xie:"楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑偕亵勰燮薤撷廨瀣邂绁缬榭榍歙躞",xin:"薪芯锌欣辛新忻心信衅囟馨莘歆铽鑫",xing:"星腥猩惺兴刑型形邢行醒幸杏性姓陉荇荥擤悻硎",xiong:"兄凶胸匈汹雄熊芎",xiu:"休修羞朽嗅锈秀袖绣莠岫馐庥鸺貅髹",xu:"墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续讴诩圩蓿怵洫溆顼栩煦砉盱胥糈醑",xuan:"轩喧宣悬旋玄选癣眩绚儇谖萱揎馔泫洵渲漩璇楦暄炫煊碹铉镟痃",xue:"靴薛学穴雪血噱泶鳕",xun:"勋熏循旬询寻驯巡殉汛训讯逊迅巽埙荀薰峋徇浔曛窨醺鲟",ya:"压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶伢揠吖岈迓娅琊桠氩砑睚痖",yan:"焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验厣靥赝俨偃兖讠谳郾鄢芫菸崦恹闫阏洇湮滟妍嫣琰晏胭腌焱罨筵酽魇餍鼹",yang:"殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾徉怏泱炀烊恙蛘鞅",yao:"邀腰妖瑶摇尧遥窑谣姚咬舀药要耀夭爻吆崾徭瀹幺珧杳曜肴鹞窈繇鳐",ye:"椰噎耶爷野冶也页掖业叶曳腋夜液谒邺揶馀晔烨铘",yi:"一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎刈劓佾诒圪圯埸懿苡薏弈奕挹弋呓咦咿噫峄嶷猗饴怿怡悒漪迤驿缢殪贻旖熠钇镒镱痍瘗癔翊衤蜴舣羿翳酏黟",yin:"茵荫因殷音阴姻吟银淫寅饮尹引隐印胤鄞堙茚喑狺夤氤铟瘾蚓霪龈",ying:"英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映嬴郢茔莺萦撄嘤膺滢潆瀛瑛璎楹鹦瘿颍罂",yo:"哟唷",yong:"拥佣臃痈庸雍踊蛹咏泳涌永恿勇用俑壅墉慵邕镛甬鳙饔",you:"幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼卣攸侑莸呦囿宥柚猷牖铕疣蝣鱿黝鼬",yu:"迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭禺毓伛俣谀谕萸蓣揄喁圄圉嵛狳饫庾阈妪妤纡瑜昱觎腴欤於煜燠聿钰鹆瘐瘀窳蝓竽舁雩龉",yuan:"鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院塬沅媛瑗橼爰眢鸢螈鼋",yue:"曰约越跃钥岳粤月悦阅龠樾刖钺",yun:"耘云郧匀陨允运蕴酝晕韵孕郓芸狁恽纭殒昀氲",za:"匝砸杂拶咂",zai:"栽哉灾宰载再在咱崽甾",zan:"攒暂赞瓒昝簪糌趱錾",zang:"赃脏葬奘戕臧",zao:"遭糟凿藻枣早澡蚤躁噪造皂灶燥唣缫",ze:"责择则泽仄赜啧迮昃笮箦舴",zei:"贼",zen:"怎谮",zeng:"增憎曾赠缯甑罾锃",zha:"扎喳渣札轧铡闸眨栅榨咋乍炸诈揸吒咤哳怍砟痄蚱齄",zhai:"摘斋宅窄债寨砦",zhan:"瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽谵搌旃",zhang:"樟章彰漳张掌涨杖丈帐账仗胀瘴障仉鄣幛嶂獐嫜璋蟑",zhao:"招昭找沼赵照罩兆肇召爪诏棹钊笊",zhe:"遮折哲蛰辙者锗蔗这浙谪陬柘辄磔鹧褚蜇赭",zhen:"珍斟真甄砧臻贞针侦枕疹诊震振镇阵缜桢榛轸赈胗朕祯畛鸩",zheng:"蒸挣睁征狰争怔整拯正政帧症郑证诤峥钲铮筝",zhi:"芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒卮陟郅埴芷摭帙忮彘咫骘栉枳栀桎轵轾攴贽膣祉祗黹雉鸷痣蛭絷酯跖踬踯豸觯",zhong:"中盅忠钟衷终种肿重仲众冢锺螽舂舯踵",zhou:"舟周州洲诌粥轴肘帚咒皱宙昼骤啄着倜诹荮鬻纣胄碡籀舳酎鲷",zhu:"珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻伫侏邾苎茱洙渚潴驺杼槠橥炷铢疰瘃蚰竺箸翥躅麈",zhua:"抓",zhuai:"拽",zhuan:"专砖转撰赚篆抟啭颛",zhuang:"桩庄装妆撞壮状丬",zhui:"椎锥追赘坠缀萑骓缒",zhun:"谆准",zhuo:"捉拙卓桌琢茁酌灼浊倬诼廴蕞擢啜浞涿杓焯禚斫",zi:"兹咨资姿滋淄孜紫仔籽滓子自渍字谘嵫姊孳缁梓辎赀恣眦锱秭耔笫粢觜訾鲻髭",zong:"鬃棕踪宗综总纵腙粽",zou:"邹走奏揍鄹鲰",zu:"租足卒族祖诅阻组俎菹啐徂驵蹴",zuan:"钻纂攥缵",zui:"嘴醉最罪",zun:"尊遵撙樽鳟",zuo:"昨左佐柞做作坐座阝阼胙祚酢",cou:"薮楱辏腠",nang:"攮哝囔馕曩",o:"喔",dia:"嗲",chuai:"嘬膪踹",cen:"岑涔",diu:"铥",nou:"耨",fou:"缶",bia:"髟"};var W={chineseToPinYin:function(e){for(var t=e.length,r="",n=new RegExp("[a-zA-Z0-9]"),o=(new RegExp("[a-zA-Z]"),0);o<t;o++){var a=e.substr(o,1);if(n.test(a))r+=a;else{var i=this.arraySearch(a,G);n.test(a)?r+=a:!1!==i&&(r+=i)}}r=r.replace(/ /g,"-");while(r.indexOf("--")>0)r=r.replace("--","-");return r},arraySearch:function(e,t){for(var r in G)if(-1!==G[r].indexOf(e))return this.ucfirst(r);return!1},ucfirst:function(e){if(e.length>0){var t=e.substr(0,1).toUpperCase(),r=e.substr(1,e.length);return t+r}}};const $={md5:function(e){return x()(e)},getFirstPY:function(e){let t,r="";if(e=e.toUpperCase(),e.constructor==Array){t=[];for(let r=0;r<e.length;r++)t.push(W.chineseToPinYin(e[r]))}else t=W.chineseToPinYin(e);if(t.constructor==Array){let e=[];for(let r=0;r<t.length;r++){let n=t[r],o="";for(let e=0;e<n.length;e++){let t=n.charAt(e);/^[A-Z0-9]+$/.test(t)&&(o+=t)}e.push(o.toLowerCase())}return e}for(let n=0;n<t.length;n++){let e=t.charAt(n);/^[A-Z0-9]+$/.test(e)&&(r+=e)}return r.toLowerCase()},getDownloadUrl(e,t){return window.eap.utils.biz.getDownloadUrl(e,t)},getPinyin:function(e){let t=[];if(e.constructor==Array){for(let r=0;r<e.length;r++)t.push(W.chineseToPinYin(e[r]).toLowerCase());return t}return W.chineseToPinYin(e).toLowerCase()},randomInt:function(e,t){var r=t-e,n=Math.random();return e+Math.round(n*r)},getBizUrl(e){return window.eap?window.eap.utils.biz.getUrl(e):e},getUrlValue:function(e,t){var r=t||window.location.search;if(-1!=r.indexOf("&"+e)||-1!=r.indexOf("?"+e)){var n="";n=r.indexOf("?"+e)>-1?r.indexOf("?"+e)+e.length+2:r.indexOf("&"+e)+e.length+2;var o=r.indexOf("&",n);return-1==o?r.substring(n):r.substring(n,o)}return""},setUrlValue:function(e,t,r){if(null==e||""==e)return"";var n=e.split("?");if(n.length<=1)return e+"?"+t+"="+r;for(var o=n[1].split("&"),a=!0,i=0;i<o.length;i++){var s=o[i].split("=");s[0]==t&&(o[i]=t+"="+r,a=!1)}return a&&(o[o.length]=t+"="+r),n[0]+"?"+o.join("&")},id:function(e){return function(e,t){var r,n,o="012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ".split(""),a=[];if(t=t||o.length,e)for(r=0;r<e;r++)a[r]=o[0|Math.random()*t];else for(a[8]=a[13]=a[18]=a[23]="-",a[14]="4",r=0;r<36;r++)a[r]||(n=0|16*Math.random(),a[r]=o[19==r?3&n|8:n]);return a.join("")}(e||6,61)},guid:function(){var e=new Date,t=this.randomInt(1,1e3),r=this.randomInt(1,1e3),n=this.randomInt(1,1e3),o=e.valueOf()+"-"+e.getMilliseconds()+"-"+t+"-"+r+"-"+n,a=this.md5(o),i=a.substring(0,8)+"-"+a.substring(8,12)+"-"+a.substring(12,16)+"-"+a.substring(16,20)+"-"+a.substring(20,32);return i.toUpperCase()},format:function(){if(0==arguments.length)return"";var e=Array.prototype.slice.call(arguments),t=e.shift();if(1==e.length&&"object"==typeof e[0]){var r=e[0];for(var n in r)if(void 0!=r[n]){let e=new RegExp("({"+n+"})","g");t=t.replace(e,r[n])}}else for(var o=0;o<e.length;o++)if(void 0!=e[o]){let r=new RegExp("({)"+o+"(})","g");t=t.replace(r,e[o])}return t},controlGuid(e){return(e||"").replace(/[.|#|@|*|\?|\(|\)|<|>|\{|\|\^|\$}]/gi,"_")+"_"+$.id(8)},upperMoney(e){e=new String(Math.round(100*Math.abs(e)));var t,r,n,o="",a="零壹贰叁肆伍陆柒捌玖",i="万仟佰拾亿仟佰拾万仟佰拾元角分",s=e.length,u=0;if(s>15)return alert("超出计算范围"),"";if(0==e)return o="零元整",o;i=i.substr(i.length-s,s);for(var c=0;c<s;c++)n=parseInt(e.substr(c,1),10),c!=s-3&&c!=s-7&&c!=s-11&&c!=s-15?0==n?(t="",r="",u+=1):0!=n&&0!=u?(t="零"+a.substr(n,1),r=i.substr(c,1),u=0):(t=a.substr(n,1),r=i.substr(c,1),u=0):(0!=n&&0!=u?(t="零"+a.substr(n,1),r=i.substr(c,1),u=0):0!=n&&0==u?(t=a.substr(n,1),r=i.substr(c,1),u=0):0==n&&u>=3?(t="",r="",u+=1):(t="",r=i.substr(c,1),u+=1),c!=s-11&&c!=s-3||(r=i.substr(c,1))),o=o+t+r;return 0==n&&(o+="整"),o},splitAttach(e){for(var t=[],r=e.split("|"),n=window.HIVUI_SETTING?window.HIVUI_SETTING.review:"",o=0;o<r.length;o++){var a=r[o];a&&t.push({name:r[o].split(";")[0],size:r[o].split(";")[1],path:r[o].split(";")[2],url:`${n}?relativePath=${r[o].split(";")[2]}`})}return t}};var Y=$;let J={dbString:{format:function(e,t){return"function"==typeof t?t.call(window,e):e},formatView:function(e,t){return"function"==typeof t?t.call(window,e):e},type:"dbString",formType:{element:"el-input"}},dbInt:{format:function(e,t){if(e=parseInt(e),"eleAuditPoint"==t){let t="";switch(e){case 0:t="已审核";break;case 1:t="运行中";break;case 99:t="终止";break;case 2:t="审批中";break;default:t=isNaN(e)?"":e}return t}return"function"==typeof t?t.call(window,e):isNaN(e)?"":(e*=1,t?L.format(e,t):e)},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);let r=J.dbInt.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},defautlVal:0,type:"dbInt",queryType:{element:"HiNumberRange"},formType:{element:"hi-number",props:{precision:0,"controls-position":"right"}}},dbFloat:{format:function(e,t){return"function"==typeof t?t.call(window,e):(e=parseFloat(e),isNaN(e)?"":(e*=1,t?L.format(e,t):e))},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);var r=J.dbFloat.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},type:"dbFloat",formType:{element:"hi-number",props:{"controls-position":"right"}},queryType:{element:"HiNumberRange"},defautlVal:0},dbDouble:{format:function(e,t){return"function"==typeof t?t.call(window,e):(e=parseFloat(e),isNaN(e)?"":(e*=1,t?L.format(e,t):e))},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);var r=J.dbDouble.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},type:"dbDouble",formType:{element:"hi-number",props:{"controls-position":"right"}},queryType:{element:"HiNumberRange"},defautlVal:0},dbText:{format:function(e,t){return"function"==typeof t?t.call(window,e):e},formatView:function(e,t){return e},type:"dbText",formType:{element:"el-input",props:{type:"textarea",rows:5}},queryType:{element:"el-input",props:{}},gridType:{element:"hi-textarea",props:{popup:!0,rows:5}}},dbBoolean:{format:function(e,t){return"function"==typeof t?t.call(window,e):""===e?"":("boolean"!=typeof e&&1*e==e&&(e=parseInt(e)),"boolean"==typeof e||"number"==typeof e?e?"是":"否":e)},formatView:function(e,t){return J.dbBoolean.format(e,t)},parse:function(e){return"yes"==e||"是"==e||"1"==e||"true"==e||"y"==e},type:"dbBoolean",queryType:{element:"el-checkbox",props:{}},formType:{element:"el-checkbox",props:{}}},dbDatetime:{format:function(e,t){return"function"==typeof t?t.call(window,e):null==e||""==e?e:(t=t||"yyyy-MM-dd hh:mm:ss","string"==typeof e&&(e=z.strToDate(e)),z.format(e,t))},formatView:function(e,t){return J.dbDatetime.format(e,t)},type:"dbDatetime",queryType:{element:"HiTimeScheme"},formType:{element:"el-date-picker",props:{type:"datetime"}}},dbTimestamp:{format:function(e,t){return"function"==typeof t?t.call(window,e):null==e||""==e?e:(t=t||"yyyy-MM-dd hh:mm:ss","string"==typeof e&&(e=z.strToDate(e)),z.format(e,t))},formatView:function(e,t){return J.dbDatetime.format(e,t)},type:"dbTimestamp",formType:{element:"el-date-picker",props:{type:"datetime"}}},dbBasic:{type:"dbBasic"},dbArray:{type:"dbArray"},dbObject:{type:"dbObject"},dbList:{type:"dbList"}};J.dbDate=J.dbDatetime;var X=J;const K={getUrlParam(e){let t=window.location.search;t=t.substring(1,t.length);let r=t.split("&"),n={};for(let o=0;o<r.length;o++){const e=r[o];let t=e.split("=");n[t[0]]=t[1]}return e?n[e]:n},openUrl(e,t){e=window.eap.utils.biz.getUrl(e);var r=document.createElement("form");r.method="POST",document.body.appendChild(r),r.target=t,r.action=e,r.submit(),r.parentNode.removeChild(r)},mergeDefaultCfg(e,t){var r=e;for(var n in t)"object"==typeof t[n]&&(t[n]=K.recursionCfg(r,t[n])),"crlName"==n&&void 0!=r[t["crlName"]]&&(t=Object.assign({},r[t["crlName"]],t));return t},recursionCfg(e,t){var r=e;for(var n in t)"object"==typeof t[n]&&(t[n]=K.recursionCfg(r,t[n])),"crlName"==n&&void 0!=r[t["crlName"]]&&(t=Object.assign({},r[t["crlName"]],t));return t}};var Q=K;let Z=z,ee=L,te=Y,re=X,ne=Q;var oe={date:Z,number:ee,string:te,dbType:re,bom:ne};class ae{constructor(e){e=e||{},this.orders=null,this.className="Params",this.paramKey="queryParam",this.where=e.where||new F,this.returnTotal=e.returnTotal,this.zcQuery=e.zcQuery,this.orders=e.orders,(e.paramsData||"null"==e.paramsData)&&this.setJsonParamsData(e.paramsData),(e.whereData||"null"==e.whereData)&&this.setJsonWhereData(e.whereData)}createWhereByModel(e,t){t=t||{};let r=new F;for(let n in e){let o=t.fields?t.fields[n]:null,a=e[n];null!=a&&""!=a&&void 0!=a&&(o?r[o.operate](n,a):oe.isArray(a)?r.in(n,a):r.def(n,a))}return this.where?this.where.addConditions(r):this.where=r,r}setJsonWhereData(e){e&&(this.where=new F({criterionData:e}))}setJsonParamsData(e){if(e){var t=typeof e,r={};switch(t){case"string":r=JSON.parse(e);break;case"object":r=e;break}r.queryCdions&&(this.where=new F({criterionData:r.queryCdions})),r.orders&&(this.orders=new q({orderData:r.orders})),r.having&&(this.having=new F({criterionData:r.having.criterion})),r.groupBy&&(this.groupBy=r.groupBy)}}setGroup(e){this.groupBy=e}getGroup(){return this.groupBy}getWhere(){return this.where}setWhere(e){this.where=e}setHaving(e){this.having=e}getHaving(){return this.having}getOrders(){return this.orders}setOrders(e){this.orders=e}toJSON(){var e={};if(this.where){var t=this.where.toJSON();t&&(e.queryCdions=this.where.toJSON())}return this.groupBy&&(e.groupBy=this.groupBy),this.orders&&(e.orderBy=this.orders.toJSON()),e}decodeStr(e){return unescape(e.replace(/\\(u[0-9a-fA-F]{4})/gm,"%$1"))}toStringWithKey(){var e={};let t=JSON.stringify(this.toJSON());return e[R.body]=t,e[R.pageIndex]=this.where[R.pageIndex],e[R.pageSize]=this.where[R.pageSize],e[R.returnTotal]=this.returnTotal,e[R.zcQuery]=this.zcQuery,e}toStr(){return JSON.stringify(this.toJSON())}}var ie=r("6747"),se=r.n(ie),ue=r("6220"),ce=r.n(ue);let fe=(e,t,r,n)=>{let o=[],a={};if(e.length>0){let i=a[t]=e[0][t];e.forEach(e=>{i!=e[t]&&(o.push(a),a={},i=e[t],a[t]=i),a[e[r]]=e[n]}),o.push(a)}return o},le=(e,t,r,{request:n,url:o,method:a,pn:i,extParam:s,rowToCol:u})=>{let c,f={queryCdion:"{}"};if(e){let t;if("Where"==e.className)t=new ae,t.where=e;else if("Params"==e.className)t=e;else{t=new ae;let r=null,n=null,o=new F;for(let t in e){let a=e[t];"$pageSize"!=t?"$pageIndex"!=t?se()(a)?ce()(a[0])?o.between(t,Z.format(a[0],"yyyy-MM-dd hh:mm:ss")+"到"+Z.format(a[1],"yyyy-MM-dd hh:mm:ss")):o.in(t,a):o.def(t,a):n=a:r=a}null!==r&&null!==n&&o.setPage(n,r),t.where=o}f=t.toStringWithKey()}f.modelFilePath=t,f[R.funcpath]=r,s&&Object.assign(f,s);let l=o;return r=r||"",i&&(l=-1==l.indexOf("?")?l+"?pn="+i:l+"&pn="+i),c=n({url:l,method:a||"post",data:f}),c},de=(e,t,r,{request:n,url:o,method:a,pn:i,extParam:s})=>{let u,c,f={};if(e){let t;if("Where"==e.className)t=new ae,t.where=e;else if("Params"==e.className)t=e;else{t=new ae;let r=null,n=null,o=new F;for(let t in e){let a=e[t];"$pageSize"!=t?"$pageIndex"!=t?se()(a)?ce()(a[0])?o.between(t,Z.format(a[0],"yyyy-MM-dd hh:mm:ss")+"到"+Z.format(a[1],"yyyy-MM-dd hh:mm:ss")):o.in(t,a):o.def(t,a):n=a:r=a}null!==r&&null!==n&&o.setPage(n,r),t.where=o}f[R.body]=t.toJSON(),f[R.pageIndex]=t.where[R.pageIndex],f[R.pageSize]=t.where[R.pageSize]}f[R.funcpath]=r,f.modelFilePath=t,e.zcQuery&&(f[R.slaveExport]=e.zcQuery),s&&(s.sheetStyle&&(f[R.sheetStyle]=s.sheetStyle,delete s.sheetStyle),Object.assign(f,s)),r=r||"",c=o,i&&(c=-1==c.indexOf("?")?c+"?pn="+i:c+"&pn="+i);let l={};return f.title&&(l.title=f.title,delete f.title),l[R.sheetDatas]=JSON.stringify([f]),u=n({url:c,method:a||"post",data:l}),u};var pe={Param:ae,Where:F,types:k,Orders:q,query:le,exportData:de,rowToCol:fe},he=r("0644"),ge=r.n(he);const ye={root:"__body",version:"__version",data:"data",funcPath:"__funcpath",modelFile:"modelFilePath",funcFile:"fpath",state:"$state",old:"$old",insertStateVal:"rsInsert",updateStateVal:"rsUpdate",removeStateVal:"rsDelete",overrideStateVal:"rsOverride",normalStateVal:"rsNormal"};class we{constructor(e,t,{request:r,url:n,pn:o,extParam:a,colToRow:i}){this.className="SavePackHelper",this.modelFile=e,this.request=r,this.colToRow=i,this._appendSavePack=[],t=t||"",this.url=n,this.funcPath=t,this.extParam=a,this.pn=o,this.dataPacks={},this.dataPacks[ye.data]=[],this.dataPacks[ye.modelFile]=this.modelFile}insertOrDeletePackageColToRow(e){let t=this.colToRow,r=[],n=t.colField,o=t.valField,a=t.rowField,i={};i[t.rowField]=e[a]||(new Date).valueOf();for(let s in e)s.startsWith("$")&&(i[s]=e[s]);for(let s in e){if(s.startsWith("$"))continue;let t=ge()(i);t[n]=s,t[o]=e[s],r.push(t)}return r}updatePackageColToRow(e){let t=this.colToRow,r=[],n=t.colField,o=t.valField,a=t.rowField,i={},s={};s[t.rowField]=e[ye.old][a];for(let u in e)u.startsWith("$")&&(i[u]=e[u]);for(let u in e){if(u.startsWith("$"))continue;let t=ge()(i),a=ge()(s);t[o]=e[u],a[o]=e[ye.old][u],a[n]=u,t[ye.old]=a,r.push(t)}return r}conversion(e){if(e){const t={};for(const r in e){const n=e[r];void 0!==n&&(ce()(n)?t[r]=Z.format(n,"yyyy-MM-dd hh:mm:ss"):null==n||"object"!=typeof n||n[ye.modelFile]?t[r]=n:t[r]=JSON.stringify(n))}return t}}normal(e){var t=this;e=this.conversion(e),e[ye.state]=ye.normalStateVal,this.colToRow&&this.colToRow.rowField?t.dataPacks[ye.data]=t.dataPacks[ye.data].concat(this.insertOrDeletePackageColToRow(e)):t.dataPacks[ye.data].push(e)}add(e){var t=this;e=this.conversion(e),e[ye.state]=ye.insertStateVal,this.colToRow&&this.colToRow.rowField?t.dataPacks[ye.data]=t.dataPacks[ye.data].concat(this.insertOrDeletePackageColToRow(e)):t.dataPacks[ye.data].push(e)}update(e,t){var r=this,n={};for(var o in t=this.conversion(t),e=this.conversion(e),t)void 0!==t[o]&&(n[o]=t[o]);n[ye.state]=ye.updateStateVal,n[ye.old]=e,this.colToRow&&this.colToRow.rowField?r.dataPacks[ye.data]=r.dataPacks[ye.data].concat(this.updatePackageColToRow(n)):r.dataPacks[ye.data].push(n)}setRedundant(e,t){}override(e,t){t||(t=e,e=null),e&&(e=this.conversion(e)),t=this.conversion(t);var r=this,n={};for(var o in t)void 0!==t[o]&&(n[o]=t[o]);n[ye.state]=ye.overrideStateVal,e&&(n[ye.old]=e),this.colToRow&&this.colToRow.rowField?r.dataPacks[ye.data]=r.dataPacks[ye.data].concat(this.updatePackageColToRow(n)):r.dataPacks[ye.data].push(n)}remove(e){var t=this;e[ye.state]=ye.removeStateVal,e=this.conversion(e),this.colToRow&&this.colToRow.rowField?t.dataPacks[ye.data]=t.dataPacks[ye.data].concat(this.insertOrDeletePackageColToRow(e)):t.dataPacks[ye.data].push(e)}toString(){return JSON.stringify(this.dataPacks)}clear(){this.dataPacks={}}getDataPack(){return this.dataPacks}isEmpty(){return!(this.dataPacks[ye.data]&&this.dataPacks[ye.data].length>0)}appendSavePack(e){this._appendSavePack.push(e)}save(e,t){e=e||{};let r={};this._appendSavePack.unshift(this.getDataPack()),r[ye.root]=JSON.stringify(this._appendSavePack),r[ye.version]="1.0.0",r[ye.funcPath]=this.funcPath,this.extParam&&Object.assign(r,this.extParam),Object.assign(r,e),t&&t.call(this,e,r,r[ye.root]);let n=this.url;return this.pn&&(n=-1==n.indexOf("?")?n+"?pn="+this.pn:n+"&pn="+this.pn),this.request({url:n,method:"post",data:r})}}let me=({request:e,url:t,ftaskguid:r,flowtype:n})=>{let o,a=t||I.getApprovalInfo;return r&&(a=-1==a.indexOf("?")?a+"?ftaskguid="+r:a+"&ftaskguid="+r),n&&(a=-1==a.indexOf("?")?a+"?flowtype="+n:a+"&flowtype="+n),o=e({url:a,method:"post"}),o},be=({request:e,url:t,data:r,param:n})=>{let o,a=t||I.processFlow,i={__body:JSON.stringify(r)};return n&&Object.assign(i,n),o=e({url:a,data:i,method:"post"}),o},ve=({request:e,url:t,param:r})=>{let n,o=t||I.queryTask;return n=e({url:o,data:r,method:"post"}),n},_e=({request:e,url:t,data:r})=>{let n;return n=e({url:t||I.getFlowInfo,data:r,method:"post"}),n},xe=({request:e,fordernumber:t,url:r})=>{let n,o=r||I.openOrdernumber,a=`${o}?fordernumber=${t}`;return n=e({url:a,method:"get"}),n},Te=({request:e,url:t,ftaskguid:r})=>{let n,o=t||I.withdrawtask,a=`${o}?ftaskguid=${r}`;return n=e({url:a,method:"get"}),n},Se=({request:e,url:t,fordernumber:r})=>{let n,o=t||I.umpireOrder,a=`${o}?fordernumber=${r}`;return n=e({url:a,method:"get"}),n},Ie=({request:e,url:t,forderguid:r,fmodelpath:n,fversion:o})=>{let a,i=t||I.taskDiagram,s=`${i}?fmodelpath=${n}&fversion=${o}`;return r&&(s=s+"&forderguid="+r),a=e({url:s,method:"get"}),a};var Ee={getApprovalInfo:me,processFlow:be,queryTask:ve,getFlowInfo:_e,withdrawtask:Te,taskDiagram:Ie,openOrdernumber:xe,umpireOrder:Se};let je=({request:e,url:t,data:r})=>{let n;return n=e({url:t,data:r,method:"post"}),n};var De={getFuncInfo:je},Oe={queryHelper:pe,saveHelper:we,flowHelper:Ee,funcHelper:De},Ae=Oe,Ne={userId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},userName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},deptId:function(){return window.eap.userInfo?window.eap.userInfo.fdeptid:""},deptName:function(){return window.eap.userInfo?window.eap.userInfo.fdeptname:""},roleId:function(){return window.eap.userInfo?window.eap.userInfo.froleid:""},roleName:function(){return window.eap.userInfo?window.eap.userInfo.frolename:""},bzId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},bzDeptId:function(){return window.eap.userInfo?window.eap.userInfo.fdeptid:""},bzDeptName:function(){return window.eap.userInfo?window.eap.userInfo.fdeptname:""},bzRoleId:function(){return window.eap.userInfo?window.eap.userInfo.froleid:""},bzRoleName:function(){return window.eap.userInfo?window.eap.userInfo.frolename:""},proxyId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},proxyName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},bzProxyId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzProxyName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},superId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},superName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},bzSuperId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzSuperName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},orgPath:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgpath:""},orgName:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgname:""},orgId:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgid:""},getBzByRole:function(e){return[]},getBzByDept:function(e){return""},getBzByRole:function(){return getBzByRole(roleId())},getBzByDept:function(){return getBzByDept(deptId())}};const Me="/platf/useroperate/entity/SysUseroperate.xml";var ke={createNumber(){return"NEW-YYMMDD-9999"},getDownloadUrl(e,t){var r=e.substr(e.lastIndexOf(".")+1),n="";return n=t?`${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${e}&access_token=${window.eap.user.auth.getToken()}&name=${t}.${r}`:`${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${e}&access_token=${window.eap.user.auth.getToken()}`,n},delUserData(e,t){let r=new Ae.saveHelper(Me,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.saveUrl,pn:window.HIVUI_SETTING.projectName});return r.remove({FKEY:e,FUSERID:Ne.userId(),FTYPE:t}),r.save()},async getUserData(e,t){var r=new Ae.queryHelper.Where({junction:"and"});r.addCondition("FKEY",e,"dbString"),r.addCondition("FTYPE",t,"dbString"),r.addCondition("FUSERID",Ne.userId(),"dbString");var n=new Ae.queryHelper.Param({where:r});let o=await Ae.queryHelper.query(n,Me,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.queryUrl,pn:window.HIVUI_SETTING.projectName});return o.dataPack.rows.length>0?o.dataPack.rows[0].FVALUE:null},saveUserData(e,t,r,n){let o=new Ae.saveHelper(Me,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.saveUrl,pn:window.HIVUI_SETTING.projectName});return o.override({FKEY:e,FUSERID:Ne.userId(),FTYPE:r},{FKEY:e,FUSERID:Ne.userId(),FTYPE:r,FVALUE:"string"==typeof t?t:JSON.stringify(t),FNAME:n||""}),o.save()},getUrl(e){let t=window.HIVUI_SETTING.project||window.HIVUI_SETTING.projectName;if(-1!=t.indexOf("/")&&(t=t.split("/")[0]),-1!=e.indexOf(".pro")){let t=e.substring(e.lastIndexOf("."));e=e.replace(/\.\w+/g,"")+t}let r=e.split("/");""!=r[0]?r[0]=t:r[1]=t,e=r.join("/");let n="";return e.startsWith("/")?n+=e:n=n+"/"+e,window.HIVUI_SETTING.projectName&&(n=-1!=e.indexOf("?")?n+"&pn="+window.HIVUI_SETTING.projectName:n+"?pn="+window.HIVUI_SETTING.projectName),n=window.HIVUI_SETTING.serverUrl+deployDir+n,n}},Re={biz:ke,FormFunc:ke,DateFunc:oe.date,NumberFunc:oe.number,StringFunc:oe.string,BomFunc:oe.bom},Ce={closepage(){top.window.SysPage&&top.window.SysPage.closePage?top.window.SysPage.closePage():window.close()},newPage(e,t,r,n,o){t&&0!=t.indexOf("http")&&(t=location.origin+(top.window.deployDir?"/"+top.window.deployDir:"")+(top.window.pName?"/"+top.window.pName:"")+t),top.window.SysPage&&top.window.SysPage.newPage?top.window.SysPage.newPage(e,t,r,n,o):window.open(t,"_blank")}};let He=(e,t,r,n={})=>{let o=window.HIVUI_SETTING;return!n.request&&o&&(n.request=o.request),!n.pn&&o&&(n.pn=o.projectName),!n.url&&o&&(n.url=o.queryUrl),Ae.queryHelper.query(e,t,r,n)},Ue=(e,t,r,n={})=>{let o=window.HIVUI_SETTING;return!n.request&&o&&(n.request=o.request),!n.pn&&o&&(n.pn=o.projectName),!n.url&&o&&(n.url=o.exportUrl),Ae.queryHelper.exportData(e,t,r,n)};class Pe extends Ae.saveHelper{constructor(e,t,r={}){let n=window.HIVUI_SETTING;!r.request&&n&&(r.request=n.request),!r.pn&&n&&(r.pn=n.projectName),!r.url&&n&&(r.url=n.saveUrl),super(e,t,r)}}var Fe={query:He,exportData:Ue,Param:Ae.queryHelper.Param,Where:Ae.queryHelper.Where,types:Ae.queryHelper.types,Orders:Ae.queryHelper.Orders,SaveHelper:Pe},qe={user:M,request:b,utils:Re,page:Ce,dataHelper:Fe};console.log(Object({NODE_ENV:"production",VUE_APP_BASE_API:"http://192.168.4.106:7777",BASE_URL:"/"}).NODE_VER);t["default"]=qe},fba5:function(e,t,r){var n=r("cb5a");function o(e){return n(this.__data__,e)>-1}e.exports=o},ffd6:function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Symbol]";function i(e){return"symbol"==typeof e||o(e)&&n(e)==a}e.exports=i}})})); //# sourceMappingURL=eap.umd.min.js.map
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("ELEMENT")):"function"===typeof define&&define.amd?define(["ELEMENT"],t):"object"===typeof exports?exports["eap"]=t(require("ELEMENT")):e["eap"]=t(e["ELEMENT"])})("undefined"!==typeof self?self:this,(function(__WEBPACK_EXTERNAL_MODULE__5f72__){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="fb15")}({"00fd":function(e,t,r){var n=r("9e69"),o=Object.prototype,a=o.hasOwnProperty,i=o.toString,s=n?n.toStringTag:void 0;function u(e){var t=a.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(u){}var o=i.call(e);return n&&(t?e[s]=r:delete e[s]),o}e.exports=u},"03dd":function(e,t,r){var n=r("eac5"),o=r("57a5"),a=Object.prototype,i=a.hasOwnProperty;function s(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))i.call(e,r)&&"constructor"!=r&&t.push(r);return t}e.exports=s},"0644":function(e,t,r){var n=r("3818"),o=1,a=4;function i(e){return n(e,o|a)}e.exports=i},"07c7":function(e,t){function r(){return!1}e.exports=r},"087d":function(e,t){function r(e,t){var r=-1,n=t.length,o=e.length;while(++r<n)e[o+r]=t[r];return e}e.exports=r},"0a06":function(e,t,r){"use strict";var n=r("c532"),o=r("30b5"),a=r("f6b4"),i=r("5270"),s=r("4a7b");function u(e){this.defaults=e,this.interceptors={request:new a,response:new a}}u.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=s(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[i,void 0],r=Promise.resolve(e);this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));while(t.length)r=r.then(t.shift(),t.shift());return r},u.prototype.getUri=function(e){return e=s(this.defaults,e),o(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(e){u.prototype[e]=function(t,r){return this.request(s(r||{},{method:e,url:t}))}})),n.forEach(["post","put","patch"],(function(e){u.prototype[e]=function(t,r,n){return this.request(s(n||{},{method:e,url:t,data:r}))}})),e.exports=u},"0b07":function(e,t,r){var n=r("34ac"),o=r("3698");function a(e,t){var r=o(e,t);return n(r)?r:void 0}e.exports=a},"0d24":function(e,t,r){(function(e){var n=r("2b3e"),o=r("07c7"),a=t&&!t.nodeType&&t,i=a&&"object"==typeof e&&e&&!e.nodeType&&e,s=i&&i.exports===a,u=s?n.Buffer:void 0,c=u?u.isBuffer:void 0,f=c||o;e.exports=f}).call(this,r("62e4")(e))},"0df6":function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},"0f0f":function(e,t,r){var n=r("8eeb"),o=r("9934");function a(e,t){return e&&n(t,o(t),e)}e.exports=a},1041:function(e,t,r){var n=r("8eeb"),o=r("a029");function a(e,t){return n(e,o(e),t)}e.exports=a},1290:function(e,t){function r(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}e.exports=r},1310:function(e,t){function r(e){return null!=e&&"object"==typeof e}e.exports=r},1368:function(e,t,r){var n=r("da03"),o=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function a(e){return!!o&&o in e}e.exports=a},"18d8":function(e,t,r){var n=r("234d"),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,i=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,"$1"):r||e)})),t}));e.exports=i},"1a2d":function(e,t,r){var n=r("42a2"),o=r("1310"),a="[object Map]";function i(e){return o(e)&&n(e)==a}e.exports=i},"1a8c":function(e,t){function r(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=r},"1bac":function(e,t,r){var n=r("7d1f"),o=r("a029"),a=r("9934");function i(e){return n(e,a,o)}e.exports=i},"1cec":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Promise");e.exports=a},"1d2b":function(e,t,r){"use strict";e.exports=function(e,t){return function(){for(var r=new Array(arguments.length),n=0;n<r.length;n++)r[n]=arguments[n];return e.apply(t,r)}}},"1efc":function(e,t){function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=r},"1fc8":function(e,t,r){var n=r("4245");function o(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}e.exports=o},"234d":function(e,t,r){var n=r("e380"),o=500;function a(e){var t=n(e,(function(e){return r.size===o&&r.clear(),e})),r=t.cache;return t}e.exports=a},2444:function(e,t,r){"use strict";(function(t){var n=r("c532"),o=r("c8af"),a={"Content-Type":"application/x-www-form-urlencoded"};function i(e,t){!n.isUndefined(e)&&n.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function s(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=r("b50d")),e}var u={adapter:s(),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),n.isFormData(e)||n.isArrayBuffer(e)||n.isBuffer(e)||n.isStream(e)||n.isFile(e)||n.isBlob(e)?e:n.isArrayBufferView(e)?e.buffer:n.isURLSearchParams(e)?(i(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):n.isObject(e)?(i(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),n.forEach(["post","put","patch"],(function(e){u.headers[e]=n.merge(a)})),e.exports=u}).call(this,r("4362"))},2474:function(e,t,r){var n=r("2b3e"),o=n.Uint8Array;e.exports=o},2478:function(e,t,r){var n=r("4245");function o(e){return n(this,e).get(e)}e.exports=o},2524:function(e,t,r){var n=r("6044"),o="__lodash_hash_undefined__";function a(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?o:t,this}e.exports=a},"253c":function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Arguments]";function i(e){return o(e)&&n(e)==a}e.exports=i},"28c9":function(e,t){function r(){this.__data__=[],this.size=0}e.exports=r},"29f3":function(e,t){var r=Object.prototype,n=r.toString;function o(e){return n.call(e)}e.exports=o},"2b3e":function(e,t,r){var n=r("585a"),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},"2d7c":function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length,o=0,a=[];while(++r<n){var i=e[r];t(i,r,e)&&(a[o++]=i)}return a}e.exports=r},"2d83":function(e,t,r){"use strict";var n=r("387f");e.exports=function(e,t,r,o,a){var i=new Error(e);return n(i,t,r,o,a)}},"2dcb":function(e,t,r){var n=r("91e9"),o=n(Object.getPrototypeOf,Object);e.exports=o},"2e67":function(e,t,r){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"2fcc":function(e,t){function r(e){var t=this.__data__,r=t["delete"](e);return this.size=t.size,r}e.exports=r},"30b5":function(e,t,r){"use strict";var n=r("c532");function o(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var a;if(r)a=r(t);else if(n.isURLSearchParams(t))a=t.toString();else{var i=[];n.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,(function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),i.push(o(t)+"="+o(e))})))})),a=i.join("&")}if(a){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}},"30c9":function(e,t,r){var n=r("9520"),o=r("b218");function a(e){return null!=e&&o(e.length)&&!n(e)}e.exports=a},"32b3":function(e,t,r){var n=r("872a"),o=r("9638"),a=Object.prototype,i=a.hasOwnProperty;function s(e,t,r){var a=e[t];i.call(e,t)&&o(a,r)&&(void 0!==r||t in e)||n(e,t,r)}e.exports=s},"32f4":function(e,t,r){var n=r("2d7c"),o=r("d327"),a=Object.prototype,i=a.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return i.call(e,t)})))}:o;e.exports=u},"34ac":function(e,t,r){var n=r("9520"),o=r("1368"),a=r("1a8c"),i=r("dc57"),s=/[\\^$.*+?()[\]{}|]/g,u=/^\[object .+?Constructor\]$/,c=Function.prototype,f=Object.prototype,l=c.toString,d=f.hasOwnProperty,p=RegExp("^"+l.call(d).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(e){if(!a(e)||o(e))return!1;var t=n(e)?p:u;return t.test(i(e))}e.exports=h},3698:function(e,t){function r(e,t){return null==e?void 0:e[t]}e.exports=r},3729:function(e,t,r){var n=r("9e69"),o=r("00fd"),a=r("29f3"),i="[object Null]",s="[object Undefined]",u=n?n.toStringTag:void 0;function c(e){return null==e?void 0===e?s:i:u&&u in Object(e)?o(e):a(e)}e.exports=c},3818:function(e,t,r){var n=r("7e64"),o=r("8057"),a=r("32b3"),i=r("5b01"),s=r("0f0f"),u=r("e538"),c=r("4359"),f=r("54eb"),l=r("1041"),d=r("a994"),p=r("1bac"),h=r("42a2"),g=r("c87c"),y=r("c2b6"),w=r("fa21"),m=r("6747"),b=r("0d24"),v=r("cc45"),_=r("1a8c"),x=r("d7ee"),T=r("ec69"),S=r("9934"),I=1,E=2,j=4,D="[object Arguments]",O="[object Array]",A="[object Boolean]",N="[object Date]",M="[object Error]",k="[object Function]",R="[object GeneratorFunction]",C="[object Map]",H="[object Number]",U="[object Object]",P="[object RegExp]",F="[object Set]",q="[object String]",B="[object Symbol]",z="[object WeakMap]",V="[object ArrayBuffer]",$="[object DataView]",L="[object Float32Array]",W="[object Float64Array]",G="[object Int8Array]",Y="[object Int16Array]",J="[object Int32Array]",X="[object Uint8Array]",K="[object Uint8ClampedArray]",Q="[object Uint16Array]",Z="[object Uint32Array]",ee={};function te(e,t,r,O,A,N){var M,C=t&I,H=t&E,P=t&j;if(r&&(M=A?r(e,O,A,N):r(e)),void 0!==M)return M;if(!_(e))return e;var F=m(e);if(F){if(M=g(e),!C)return c(e,M)}else{var q=h(e),B=q==k||q==R;if(b(e))return u(e,C);if(q==U||q==D||B&&!A){if(M=H||B?{}:w(e),!C)return H?l(e,s(M,e)):f(e,i(M,e))}else{if(!ee[q])return A?e:{};M=y(e,q,C)}}N||(N=new n);var z=N.get(e);if(z)return z;N.set(e,M),x(e)?e.forEach((function(n){M.add(te(n,t,r,n,e,N))})):v(e)&&e.forEach((function(n,o){M.set(o,te(n,t,r,o,e,N))}));var V=P?H?p:d:H?S:T,$=F?void 0:V(e);return o($||e,(function(n,o){$&&(o=n,n=e[o]),a(M,o,te(n,t,r,o,e,N))})),M}ee[D]=ee[O]=ee[V]=ee[$]=ee[A]=ee[N]=ee[L]=ee[W]=ee[G]=ee[Y]=ee[J]=ee[C]=ee[H]=ee[U]=ee[P]=ee[F]=ee[q]=ee[B]=ee[X]=ee[K]=ee[Q]=ee[Z]=!0,ee[M]=ee[k]=ee[z]=!1,e.exports=te},3852:function(e,t,r){var n=r("96f3"),o=r("e2c0");function a(e,t){return null!=e&&o(e,t,n)}e.exports=a},"387f":function(e,t,r){"use strict";e.exports=function(e,t,r,n,o){return e.config=t,r&&(e.code=r),e.request=n,e.response=o,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},3934:function(e,t,r){"use strict";var n=r("c532");e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(e){var n=e;return t&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=o(window.location.href),function(t){var r=n.isString(t)?o(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return function(){return!0}}()},"39ff":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"WeakMap");e.exports=a},"3b4a":function(e,t,r){var n=r("0b07"),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();e.exports=o},"3c35":function(e,t){(function(t){e.exports=t}).call(this,{})},"3e8f":function(e,t){},"41c3":function(e,t,r){var n=r("1a8c"),o=r("eac5"),a=r("ec8c"),i=Object.prototype,s=i.hasOwnProperty;function u(e){if(!n(e))return a(e);var t=o(e),r=[];for(var i in e)("constructor"!=i||!t&&s.call(e,i))&&r.push(i);return r}e.exports=u},4245:function(e,t,r){var n=r("1290");function o(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}e.exports=o},"42a2":function(e,t,r){var n=r("b5a7"),o=r("79bc"),a=r("1cec"),i=r("c869"),s=r("39ff"),u=r("3729"),c=r("dc57"),f="[object Map]",l="[object Object]",d="[object Promise]",p="[object Set]",h="[object WeakMap]",g="[object DataView]",y=c(n),w=c(o),m=c(a),b=c(i),v=c(s),_=u;(n&&_(new n(new ArrayBuffer(1)))!=g||o&&_(new o)!=f||a&&_(a.resolve())!=d||i&&_(new i)!=p||s&&_(new s)!=h)&&(_=function(e){var t=u(e),r=t==l?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case y:return g;case w:return f;case m:return d;case b:return p;case v:return h}return t}),e.exports=_},4359:function(e,t){function r(e,t){var r=-1,n=e.length;t||(t=Array(n));while(++r<n)t[r]=e[r];return t}e.exports=r},4362:function(e,t,r){t.nextTick=function(e){var t=Array.prototype.slice.call(arguments);t.shift(),setTimeout((function(){e.apply(null,t)}),0)},t.platform=t.arch=t.execPath=t.title="browser",t.pid=1,t.browser=!0,t.env={},t.argv=[],t.binding=function(e){throw new Error("No such module. (Possibly not yet loaded)")},function(){var e,n="/";t.cwd=function(){return n},t.chdir=function(t){e||(e=r("df7c")),n=e.resolve(t,n)}}(),t.exit=t.kill=t.umask=t.dlopen=t.uptime=t.memoryUsage=t.uvCounters=function(){},t.features={}},"467f":function(e,t,r){"use strict";var n=r("2d83");e.exports=function(e,t,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?t(n("Request failed with status code "+r.status,r.config,null,r.request,r)):e(r)}},"49f4":function(e,t,r){var n=r("6044");function o(){this.__data__=n?n(null):{},this.size=0}e.exports=o},"4a7b":function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t){t=t||{};var r={},o=["url","method","data"],a=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function u(e,t){return n.isPlainObject(e)&&n.isPlainObject(t)?n.merge(e,t):n.isPlainObject(t)?n.merge({},t):n.isArray(t)?t.slice():t}function c(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=u(void 0,e[o])):r[o]=u(e[o],t[o])}n.forEach(o,(function(e){n.isUndefined(t[e])||(r[e]=u(void 0,t[e]))})),n.forEach(a,c),n.forEach(i,(function(o){n.isUndefined(t[o])?n.isUndefined(e[o])||(r[o]=u(void 0,e[o])):r[o]=u(void 0,t[o])})),n.forEach(s,(function(n){n in t?r[n]=u(e[n],t[n]):n in e&&(r[n]=u(void 0,e[n]))}));var f=o.concat(a).concat(i).concat(s),l=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===f.indexOf(e)}));return n.forEach(l,c),r}},"50d8":function(e,t){function r(e,t){var r=-1,n=Array(e);while(++r<e)n[r]=t(r);return n}e.exports=r},5270:function(e,t,r){"use strict";var n=r("c532"),o=r("c401"),a=r("2e67"),i=r("2444");function s(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){s(e),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]}));var t=e.adapter||i.adapter;return t(e).then((function(t){return s(e),t.data=o(t.data,t.headers,e.transformResponse),t}),(function(t){return a(t)||(s(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},"54eb":function(e,t,r){var n=r("8eeb"),o=r("32f4");function a(e,t){return n(e,o(e),t)}e.exports=a},"55a3":function(e,t){function r(e){return this.__data__.has(e)}e.exports=r},"57a5":function(e,t,r){var n=r("91e9"),o=n(Object.keys,Object);e.exports=o},"585a":function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r("c8ba"))},"5b01":function(e,t,r){var n=r("8eeb"),o=r("ec69");function a(e,t){return e&&n(t,o(t),e)}e.exports=a},"5d89":function(e,t,r){var n=r("f8af");function o(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}e.exports=o},"5e2e":function(e,t,r){var n=r("28c9"),o=r("69d5"),a=r("b4c0"),i=r("fba5"),s=r("67ca");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},"5f72":function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__5f72__},6044:function(e,t,r){var n=r("0b07"),o=n(Object,"create");e.exports=o},6220:function(e,t,r){var n=r("b1d2"),o=r("b047"),a=r("99d3"),i=a&&a.isDate,s=i?o(i):n;e.exports=s},"62e4":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},6747:function(e,t){var r=Array.isArray;e.exports=r},"67ca":function(e,t,r){var n=r("cb5a");function o(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}e.exports=o},"69d5":function(e,t,r){var n=r("cb5a"),o=Array.prototype,a=o.splice;function i(e){var t=this.__data__,r=n(t,e);if(r<0)return!1;var o=t.length-1;return r==o?t.pop():a.call(t,r,1),--this.size,!0}e.exports=i},"6f6c":function(e,t){var r=/\w*$/;function n(e){var t=new e.constructor(e.source,r.exec(e));return t.lastIndex=e.lastIndex,t}e.exports=n},"6fcd":function(e,t,r){var n=r("50d8"),o=r("d370"),a=r("6747"),i=r("0d24"),s=r("c098"),u=r("73ac"),c=Object.prototype,f=c.hasOwnProperty;function l(e,t){var r=a(e),c=!r&&o(e),l=!r&&!c&&i(e),d=!r&&!c&&!l&&u(e),p=r||c||l||d,h=p?n(e.length,String):[],g=h.length;for(var y in e)!t&&!f.call(e,y)||p&&("length"==y||l&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||h.push(y);return h}e.exports=l},"73ac":function(e,t,r){var n=r("743f"),o=r("b047"),a=r("99d3"),i=a&&a.isTypedArray,s=i?o(i):n;e.exports=s},"743f":function(e,t,r){var n=r("3729"),o=r("b218"),a=r("1310"),i="[object Arguments]",s="[object Array]",u="[object Boolean]",c="[object Date]",f="[object Error]",l="[object Function]",d="[object Map]",p="[object Number]",h="[object Object]",g="[object RegExp]",y="[object Set]",w="[object String]",m="[object WeakMap]",b="[object ArrayBuffer]",v="[object DataView]",_="[object Float32Array]",x="[object Float64Array]",T="[object Int8Array]",S="[object Int16Array]",I="[object Int32Array]",E="[object Uint8Array]",j="[object Uint8ClampedArray]",D="[object Uint16Array]",O="[object Uint32Array]",A={};function N(e){return a(e)&&o(e.length)&&!!A[n(e)]}A[_]=A[x]=A[T]=A[S]=A[I]=A[E]=A[j]=A[D]=A[O]=!0,A[i]=A[s]=A[b]=A[u]=A[v]=A[c]=A[f]=A[l]=A[d]=A[p]=A[h]=A[g]=A[y]=A[w]=A[m]=!1,e.exports=N},7530:function(e,t,r){var n=r("1a8c"),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},"76dd":function(e,t,r){var n=r("ce86");function o(e){return null==e?"":n(e)}e.exports=o},7948:function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length,o=Array(n);while(++r<n)o[r]=t(e[r],r,e);return o}e.exports=r},"79bc":function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Map");e.exports=a},"7a48":function(e,t,r){var n=r("6044"),o=Object.prototype,a=o.hasOwnProperty;function i(e){var t=this.__data__;return n?void 0!==t[e]:a.call(t,e)}e.exports=i},"7a77":function(e,t,r){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},"7aac":function(e,t,r){"use strict";var n=r("c532");e.exports=n.isStandardBrowserEnv()?function(){return{write:function(e,t,r,o,a,i){var s=[];s.push(e+"="+encodeURIComponent(t)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(o)&&s.push("path="+o),n.isString(a)&&s.push("domain="+a),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"7b83":function(e,t,r){var n=r("7c64"),o=r("93ed"),a=r("2478"),i=r("a524"),s=r("1fc8");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},"7c64":function(e,t,r){var n=r("e24b"),o=r("5e2e"),a=r("79bc");function i(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}e.exports=i},"7d1f":function(e,t,r){var n=r("087d"),o=r("6747");function a(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}e.exports=a},"7e64":function(e,t,r){var n=r("5e2e"),o=r("efb6"),a=r("2fcc"),i=r("802a"),s=r("55a3"),u=r("d02c");function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype["delete"]=a,c.prototype.get=i,c.prototype.has=s,c.prototype.set=u,e.exports=c},"802a":function(e,t){function r(e){return this.__data__.get(e)}e.exports=r},8057:function(e,t){function r(e,t){var r=-1,n=null==e?0:e.length;while(++r<n)if(!1===t(e[r],r,e))break;return e}e.exports=r},8237:function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__; /** * [js-md5]{@link https://github.com/emn178/js-md5} * * @namespace md5 * @version 0.7.3 * @author Chen, Yi-Cyuan [emn178@gmail.com] * @copyright Chen, Yi-Cyuan 2014-2017 * @license MIT */(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"===typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"===typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"===typeof module&&module.exports,AMD=__webpack_require__("3c35"),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var r=OUTPUT_TYPES[t];e[r]=createOutputMethod(r)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"===typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null===e||void 0===e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,r=typeof e;if("string"!==r){if("object"!==r)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw ERROR;t=!0}var n,o,a=0,i=e.length,s=this.blocks,u=this.buffer8;while(a<i){if(this.hashed&&(this.hashed=!1,s[0]=s[16],s[16]=s[1]=s[2]=s[3]=s[4]=s[5]=s[6]=s[7]=s[8]=s[9]=s[10]=s[11]=s[12]=s[13]=s[14]=s[15]=0),t)if(ARRAY_BUFFER)for(o=this.start;a<i&&o<64;++a)u[o++]=e[a];else for(o=this.start;a<i&&o<64;++a)s[o>>2]|=e[a]<<SHIFT[3&o++];else if(ARRAY_BUFFER)for(o=this.start;a<i&&o<64;++a)n=e.charCodeAt(a),n<128?u[o++]=n:n<2048?(u[o++]=192|n>>6,u[o++]=128|63&n):n<55296||n>=57344?(u[o++]=224|n>>12,u[o++]=128|n>>6&63,u[o++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),u[o++]=240|n>>18,u[o++]=128|n>>12&63,u[o++]=128|n>>6&63,u[o++]=128|63&n);else for(o=this.start;a<i&&o<64;++a)n=e.charCodeAt(a),n<128?s[o>>2]|=n<<SHIFT[3&o++]:n<2048?(s[o>>2]|=(192|n>>6)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]):n<55296||n>=57344?(s[o>>2]|=(224|n>>12)<<SHIFT[3&o++],s[o>>2]|=(128|n>>6&63)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++a)),s[o>>2]|=(240|n>>18)<<SHIFT[3&o++],s[o>>2]|=(128|n>>12&63)<<SHIFT[3&o++],s[o>>2]|=(128|n>>6&63)<<SHIFT[3&o++],s[o>>2]|=(128|63&n)<<SHIFT[3&o++]);this.lastByteIndex=o,this.bytes+=o-this.start,o>=64?(this.start=o-64,this.hash(),this.hashed=!0):this.start=o}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,r,n,o,a,i=this.blocks;this.first?(e=i[0]-680876937,e=(e<<7|e>>>25)-271733879<<0,n=(-1732584194^2004318071&e)+i[1]-117830708,n=(n<<12|n>>>20)+e<<0,r=(-271733879^n&(-271733879^e))+i[2]-1126478375,r=(r<<17|r>>>15)+n<<0,t=(e^r&(n^e))+i[3]-1316259209,t=(t<<22|t>>>10)+r<<0):(e=this.h0,t=this.h1,r=this.h2,n=this.h3,e+=(n^t&(r^n))+i[0]-680876936,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[1]-389564586,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[2]+606105819,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[3]-1044525330,t=(t<<22|t>>>10)+r<<0),e+=(n^t&(r^n))+i[4]-176418897,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[5]+1200080426,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[6]-1473231341,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[7]-45705983,t=(t<<22|t>>>10)+r<<0,e+=(n^t&(r^n))+i[8]+1770035416,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[9]-1958414417,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[10]-42063,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[11]-1990404162,t=(t<<22|t>>>10)+r<<0,e+=(n^t&(r^n))+i[12]+1804603682,e=(e<<7|e>>>25)+t<<0,n+=(r^e&(t^r))+i[13]-40341101,n=(n<<12|n>>>20)+e<<0,r+=(t^n&(e^t))+i[14]-1502002290,r=(r<<17|r>>>15)+n<<0,t+=(e^r&(n^e))+i[15]+1236535329,t=(t<<22|t>>>10)+r<<0,e+=(r^n&(t^r))+i[1]-165796510,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[6]-1069501632,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[11]+643717713,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[0]-373897302,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[5]-701558691,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[10]+38016083,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[15]-660478335,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[4]-405537848,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[9]+568446438,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[14]-1019803690,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[3]-187363961,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[8]+1163531501,t=(t<<20|t>>>12)+r<<0,e+=(r^n&(t^r))+i[13]-1444681467,e=(e<<5|e>>>27)+t<<0,n+=(t^r&(e^t))+i[2]-51403784,n=(n<<9|n>>>23)+e<<0,r+=(e^t&(n^e))+i[7]+1735328473,r=(r<<14|r>>>18)+n<<0,t+=(n^e&(r^n))+i[12]-1926607734,t=(t<<20|t>>>12)+r<<0,o=t^r,e+=(o^n)+i[5]-378558,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[8]-2022574463,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[11]+1839030562,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[14]-35309556,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[1]-1530992060,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[4]+1272893353,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[7]-155497632,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[10]-1094730640,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[13]+681279174,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[0]-358537222,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[3]-722521979,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[6]+76029189,t=(t<<23|t>>>9)+r<<0,o=t^r,e+=(o^n)+i[9]-640364487,e=(e<<4|e>>>28)+t<<0,n+=(o^e)+i[12]-421815835,n=(n<<11|n>>>21)+e<<0,a=n^e,r+=(a^t)+i[15]+530742520,r=(r<<16|r>>>16)+n<<0,t+=(a^r)+i[2]-995338651,t=(t<<23|t>>>9)+r<<0,e+=(r^(t|~n))+i[0]-198630844,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[7]+1126891415,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[14]-1416354905,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[5]-57434055,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[12]+1700485571,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[3]-1894986606,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[10]-1051523,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[1]-2054922799,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[8]+1873313359,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[15]-30611744,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[6]-1560198380,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[13]+1309151649,t=(t<<21|t>>>11)+r<<0,e+=(r^(t|~n))+i[4]-145523070,e=(e<<6|e>>>26)+t<<0,n+=(t^(e|~r))+i[11]-1120210379,n=(n<<10|n>>>22)+e<<0,r+=(e^(n|~t))+i[2]+718787259,r=(r<<15|r>>>17)+n<<0,t+=(n^(r|~e))+i[9]-343485551,t=(t<<21|t>>>11)+r<<0,this.first?(this.h0=e+1732584193<<0,this.h1=t-271733879<<0,this.h2=r-1732584194<<0,this.h3=n+271733878<<0,this.first=!1):(this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,r=this.h2,n=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,r,n="",o=this.array(),a=0;a<15;)e=o[a++],t=o[a++],r=o[a++],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|r>>>6)]+BASE64_ENCODE_CHAR[63&r];return e=o[a],n+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"==",n};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__("4362"),__webpack_require__("c8ba"))},"83b9":function(e,t,r){"use strict";var n=r("d925"),o=r("e683");e.exports=function(e,t){return e&&!n(t)?o(e,t):t}},"872a":function(e,t,r){var n=r("3b4a");function o(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}e.exports=o},8875:function(e,t,r){var n,o,a;(function(r,i){o=[],n=i,a="function"===typeof n?n.apply(t,o):n,void 0===a||(e.exports=a)})("undefined"!==typeof self&&self,(function(){function e(){var t=Object.getOwnPropertyDescriptor(document,"currentScript");if(!t&&"currentScript"in document&&document.currentScript)return document.currentScript;if(t&&t.get!==e&&document.currentScript)return document.currentScript;try{throw new Error}catch(p){var r,n,o,a=/.*at [^(]*\((.*):(.+):(.+)\)$/gi,i=/@([^@]*):(\d+):(\d+)\s*$/gi,s=a.exec(p.stack)||i.exec(p.stack),u=s&&s[1]||!1,c=s&&s[2]||!1,f=document.location.href.replace(document.location.hash,""),l=document.getElementsByTagName("script");u===f&&(r=document.documentElement.outerHTML,n=new RegExp("(?:[^\\n]+?\\n){0,"+(c-2)+"}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*","i"),o=r.replace(n,"$1").trim());for(var d=0;d<l.length;d++){if("interactive"===l[d].readyState)return l[d];if(l[d].src===u)return l[d];if(u===f&&l[d].innerHTML&&l[d].innerHTML.trim()===o)return l[d]}return null}}return e}))},"8df4":function(e,t,r){"use strict";var n=r("7a77");function o(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var r=this;e((function(e){r.reason||(r.reason=new n(e),t(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e,t=new o((function(t){e=t}));return{token:t,cancel:e}},e.exports=o},"8eeb":function(e,t,r){var n=r("32b3"),o=r("872a");function a(e,t,r,a){var i=!r;r||(r={});var s=-1,u=t.length;while(++s<u){var c=t[s],f=a?a(r[c],e[c],c,r,e):void 0;void 0===f&&(f=e[c]),i?o(r,c,f):n(r,c,f)}return r}e.exports=a},"91e9":function(e,t){function r(e,t){return function(r){return e(t(r))}}e.exports=r},"93ed":function(e,t,r){var n=r("4245");function o(e){var t=n(this,e)["delete"](e);return this.size-=t?1:0,t}e.exports=o},9520:function(e,t,r){var n=r("3729"),o=r("1a8c"),a="[object AsyncFunction]",i="[object Function]",s="[object GeneratorFunction]",u="[object Proxy]";function c(e){if(!o(e))return!1;var t=n(e);return t==i||t==s||t==a||t==u}e.exports=c},9638:function(e,t){function r(e,t){return e===t||e!==e&&t!==t}e.exports=r},"96f3":function(e,t){var r=Object.prototype,n=r.hasOwnProperty;function o(e,t){return null!=e&&n.call(e,t)}e.exports=o},9934:function(e,t,r){var n=r("6fcd"),o=r("41c3"),a=r("30c9");function i(e){return a(e)?n(e,!0):o(e)}e.exports=i},"99d3":function(e,t,r){(function(e){var n=r("585a"),o=t&&!t.nodeType&&t,a=o&&"object"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o,s=i&&n.process,u=function(){try{var e=a&&a.require&&a.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(t){}}();e.exports=u}).call(this,r("62e4")(e))},"9e69":function(e,t,r){var n=r("2b3e"),o=n.Symbol;e.exports=o},a029:function(e,t,r){var n=r("087d"),o=r("2dcb"),a=r("32f4"),i=r("d327"),s=Object.getOwnPropertySymbols,u=s?function(e){var t=[];while(e)n(t,a(e)),e=o(e);return t}:i;e.exports=u},a2db:function(e,t,r){var n=r("9e69"),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;function i(e){return a?Object(a.call(e)):{}}e.exports=i},a524:function(e,t,r){var n=r("4245");function o(e){return n(this,e).has(e)}e.exports=o},a78e:function(e,t,r){var n,o; /*! * JavaScript Cookie v2.2.1 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */(function(a){var i;if(n=a,o="function"===typeof n?n.call(t,r,t,e):n,void 0===o||(e.exports=o),i=!0,e.exports=a(),i=!0,!i){var s=window.Cookies,u=window.Cookies=a();u.noConflict=function(){return window.Cookies=s,u}}})((function(){function e(){for(var e=0,t={};e<arguments.length;e++){var r=arguments[e];for(var n in r)t[n]=r[n]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}function r(n){function o(){}function a(t,r,a){if("undefined"!==typeof document){a=e({path:"/"},o.defaults,a),"number"===typeof a.expires&&(a.expires=new Date(1*new Date+864e5*a.expires)),a.expires=a.expires?a.expires.toUTCString():"";try{var i=JSON.stringify(r);/^[\{\[]/.test(i)&&(r=i)}catch(c){}r=n.write?n.write(r,t):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var s="";for(var u in a)a[u]&&(s+="; "+u,!0!==a[u]&&(s+="="+a[u].split(";")[0]));return document.cookie=t+"="+r+s}}function i(e,r){if("undefined"!==typeof document){for(var o={},a=document.cookie?document.cookie.split("; "):[],i=0;i<a.length;i++){var s=a[i].split("="),u=s.slice(1).join("=");r||'"'!==u.charAt(0)||(u=u.slice(1,-1));try{var c=t(s[0]);if(u=(n.read||n)(u,c)||t(u),r)try{u=JSON.parse(u)}catch(f){}if(o[c]=u,e===c)break}catch(f){}}return e?o[e]:o}}return o.set=a,o.get=function(e){return i(e,!1)},o.getJSON=function(e){return i(e,!0)},o.remove=function(t,r){a(t,"",e(r,{expires:-1}))},o.defaults={},o.withConverter=r,o}return r((function(){}))}))},a994:function(e,t,r){var n=r("7d1f"),o=r("32f4"),a=r("ec69");function i(e){return n(e,a,o)}e.exports=i},b047:function(e,t){function r(e){return function(t){return e(t)}}e.exports=r},b1d2:function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Date]";function i(e){return o(e)&&n(e)==a}e.exports=i},b218:function(e,t){var r=9007199254740991;function n(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}e.exports=n},b4c0:function(e,t,r){var n=r("cb5a");function o(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}e.exports=o},b50d:function(e,t,r){"use strict";var n=r("c532"),o=r("467f"),a=r("7aac"),i=r("30b5"),s=r("83b9"),u=r("c345"),c=r("3934"),f=r("2d83");e.exports=function(e){return new Promise((function(t,r){var l=e.data,d=e.headers;n.isFormData(l)&&delete d["Content-Type"],(n.isBlob(l)||n.isFile(l))&&l.type&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",g=unescape(encodeURIComponent(e.auth.password))||"";d.Authorization="Basic "+btoa(h+":"+g)}var y=s(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),i(y,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?u(p.getAllResponseHeaders()):null,a=e.responseType&&"text"!==e.responseType?p.response:p.responseText,i={data:a,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};o(t,r,i),p=null}},p.onabort=function(){p&&(r(f("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){r(f("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),r(f(t,e,"ECONNABORTED",p)),p=null},n.isStandardBrowserEnv()){var w=(e.withCredentials||c(y))&&e.xsrfCookieName?a.read(e.xsrfCookieName):void 0;w&&(d[e.xsrfHeaderName]=w)}if("setRequestHeader"in p&&n.forEach(d,(function(e,t){"undefined"===typeof l&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),n.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(m){if("json"!==e.responseType)throw m}"function"===typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),r(e),p=null)})),l||(l=null),p.send(l)}))}},b5a7:function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"DataView");e.exports=a},bbc0:function(e,t,r){var n=r("6044"),o="__lodash_hash_undefined__",a=Object.prototype,i=a.hasOwnProperty;function s(e){var t=this.__data__;if(n){var r=t[e];return r===o?void 0:r}return i.call(t,e)?t[e]:void 0}e.exports=s},bc3a:function(e,t,r){e.exports=r("cee4")},c098:function(e,t){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function o(e,t){var o=typeof e;return t=null==t?r:t,!!t&&("number"==o||"symbol"!=o&&n.test(e))&&e>-1&&e%1==0&&e<t}e.exports=o},c2b6:function(e,t,r){var n=r("f8af"),o=r("5d89"),a=r("6f6c"),i=r("a2db"),s=r("c8fe"),u="[object Boolean]",c="[object Date]",f="[object Map]",l="[object Number]",d="[object RegExp]",p="[object Set]",h="[object String]",g="[object Symbol]",y="[object ArrayBuffer]",w="[object DataView]",m="[object Float32Array]",b="[object Float64Array]",v="[object Int8Array]",_="[object Int16Array]",x="[object Int32Array]",T="[object Uint8Array]",S="[object Uint8ClampedArray]",I="[object Uint16Array]",E="[object Uint32Array]";function j(e,t,r){var j=e.constructor;switch(t){case y:return n(e);case u:case c:return new j(+e);case w:return o(e,r);case m:case b:case v:case _:case x:case T:case S:case I:case E:return s(e,r);case f:return new j;case l:case h:return new j(e);case d:return a(e);case p:return new j;case g:return i(e)}}e.exports=j},c345:function(e,t,r){"use strict";var n=r("c532"),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,a,i={};return e?(n.forEach(e.split("\n"),(function(e){if(a=e.indexOf(":"),t=n.trim(e.substr(0,a)).toLowerCase(),r=n.trim(e.substr(a+1)),t){if(i[t]&&o.indexOf(t)>=0)return;i[t]="set-cookie"===t?(i[t]?i[t]:[]).concat([r]):i[t]?i[t]+", "+r:r}})),i):i}},c3fc:function(e,t,r){var n=r("42a2"),o=r("1310"),a="[object Set]";function i(e){return o(e)&&n(e)==a}e.exports=i},c401:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t,r){return n.forEach(r,(function(r){e=r(e,t)})),e}},c532:function(e,t,r){"use strict";var n=r("1d2b"),o=Object.prototype.toString;function a(e){return"[object Array]"===o.call(e)}function i(e){return"undefined"===typeof e}function s(e){return null!==e&&!i(e)&&null!==e.constructor&&!i(e.constructor)&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function u(e){return"[object ArrayBuffer]"===o.call(e)}function c(e){return"undefined"!==typeof FormData&&e instanceof FormData}function f(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function l(e){return"string"===typeof e}function d(e){return"number"===typeof e}function p(e){return null!==e&&"object"===typeof e}function h(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function g(e){return"[object Date]"===o.call(e)}function y(e){return"[object File]"===o.call(e)}function w(e){return"[object Blob]"===o.call(e)}function m(e){return"[object Function]"===o.call(e)}function b(e){return p(e)&&m(e.pipe)}function v(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function _(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function x(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function T(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),a(e))for(var r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}function S(){var e={};function t(t,r){h(e[r])&&h(t)?e[r]=S(e[r],t):h(t)?e[r]=S({},t):a(t)?e[r]=t.slice():e[r]=t}for(var r=0,n=arguments.length;r<n;r++)T(arguments[r],t);return e}function I(e,t,r){return T(t,(function(t,o){e[o]=r&&"function"===typeof t?n(t,r):t})),e}function E(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}e.exports={isArray:a,isArrayBuffer:u,isBuffer:s,isFormData:c,isArrayBufferView:f,isString:l,isNumber:d,isObject:p,isPlainObject:h,isUndefined:i,isDate:g,isFile:y,isBlob:w,isFunction:m,isStream:b,isURLSearchParams:v,isStandardBrowserEnv:x,forEach:T,merge:S,extend:I,trim:_,stripBOM:E}},c869:function(e,t,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Set");e.exports=a},c87c:function(e,t){var r=Object.prototype,n=r.hasOwnProperty;function o(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}e.exports=o},c8af:function(e,t,r){"use strict";var n=r("c532");e.exports=function(e,t){n.forEach(e,(function(r,n){n!==t&&n.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[n])}))}},c8ba:function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},c8fe:function(e,t,r){var n=r("f8af");function o(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}e.exports=o},cb5a:function(e,t,r){var n=r("9638");function o(e,t){var r=e.length;while(r--)if(n(e[r][0],t))return r;return-1}e.exports=o},cc45:function(e,t,r){var n=r("1a2d"),o=r("b047"),a=r("99d3"),i=a&&a.isMap,s=i?o(i):n;e.exports=s},ce86:function(e,t,r){var n=r("9e69"),o=r("7948"),a=r("6747"),i=r("ffd6"),s=1/0,u=n?n.prototype:void 0,c=u?u.toString:void 0;function f(e){if("string"==typeof e)return e;if(a(e))return o(e,f)+"";if(i(e))return c?c.call(e):"";var t=e+"";return"0"==t&&1/e==-s?"-0":t}e.exports=f},cee4:function(e,t,r){"use strict";var n=r("c532"),o=r("1d2b"),a=r("0a06"),i=r("4a7b"),s=r("2444");function u(e){var t=new a(e),r=o(a.prototype.request,t);return n.extend(r,a.prototype,t),n.extend(r,t),r}var c=u(s);c.Axios=a,c.create=function(e){return u(i(c.defaults,e))},c.Cancel=r("7a77"),c.CancelToken=r("8df4"),c.isCancel=r("2e67"),c.all=function(e){return Promise.all(e)},c.spread=r("0df6"),e.exports=c,e.exports.default=c},d02c:function(e,t,r){var n=r("5e2e"),o=r("79bc"),a=r("7b83"),i=200;function s(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!o||s.length<i-1)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(s)}return r.set(e,t),this.size=r.size,this}e.exports=s},d327:function(e,t){function r(){return[]}e.exports=r},d370:function(e,t,r){var n=r("253c"),o=r("1310"),a=Object.prototype,i=a.hasOwnProperty,s=a.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(e){return o(e)&&i.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},d7ee:function(e,t,r){var n=r("c3fc"),o=r("b047"),a=r("99d3"),i=a&&a.isSet,s=i?o(i):n;e.exports=s},d925:function(e,t,r){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},da03:function(e,t,r){var n=r("2b3e"),o=n["__core-js_shared__"];e.exports=o},dc57:function(e,t){var r=Function.prototype,n=r.toString;function o(e){if(null!=e){try{return n.call(e)}catch(t){}try{return e+""}catch(t){}}return""}e.exports=o},df7c:function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e){"string"!==typeof e&&(e+="");var t,r=0,n=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){r=t+1;break}}else-1===n&&(o=!1,n=t+1);return-1===n?"":e.slice(r,n)}function o(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}t.resolve=function(){for(var t="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var i=a>=0?arguments[a]:e.cwd();if("string"!==typeof i)throw new TypeError("Arguments to path.resolve must be strings");i&&(t=i+"/"+t,n="/"===i.charAt(0))}return t=r(o(t.split("/"),(function(e){return!!e})),!n).join("/"),(n?"/":"")+t||"."},t.normalize=function(e){var n=t.isAbsolute(e),i="/"===a(e,-1);return e=r(o(e.split("/"),(function(e){return!!e})),!n).join("/"),e||n||(e="."),e&&i&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,(function(e,t){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t<e.length;t++)if(""!==e[t])break;for(var r=e.length-1;r>=0;r--)if(""!==e[r])break;return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var o=n(e.split("/")),a=n(r.split("/")),i=Math.min(o.length,a.length),s=i,u=0;u<i;u++)if(o[u]!==a[u]){s=u;break}var c=[];for(u=s;u<o.length;u++)c.push("..");return c=c.concat(a.slice(s)),c.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!==typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),r=47===t,n=-1,o=!0,a=e.length-1;a>=1;--a)if(t=e.charCodeAt(a),47===t){if(!o){n=a;break}}else o=!1;return-1===n?r?"/":".":r&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var r=n(e);return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){"string"!==typeof e&&(e+="");for(var t=-1,r=0,n=-1,o=!0,a=0,i=e.length-1;i>=0;--i){var s=e.charCodeAt(i);if(47!==s)-1===n&&(o=!1,n=i+1),46===s?-1===t?t=i:1!==a&&(a=1):-1!==t&&(a=-1);else if(!o){r=i+1;break}}return-1===t||-1===n||0===a||1===a&&t===n-1&&t===r+1?"":e.slice(t,n)};var a="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(this,r("4362"))},e24b:function(e,t,r){var n=r("49f4"),o=r("1efc"),a=r("bbc0"),i=r("7a48"),s=r("2524");function u(e){var t=-1,r=null==e?0:e.length;this.clear();while(++t<r){var n=e[t];this.set(n[0],n[1])}}u.prototype.clear=n,u.prototype["delete"]=o,u.prototype.get=a,u.prototype.has=i,u.prototype.set=s,e.exports=u},e2c0:function(e,t,r){var n=r("e2e4"),o=r("d370"),a=r("6747"),i=r("c098"),s=r("b218"),u=r("f4d6");function c(e,t,r){t=n(t,e);var c=-1,f=t.length,l=!1;while(++c<f){var d=u(t[c]);if(!(l=null!=e&&r(e,d)))break;e=e[d]}return l||++c!=f?l:(f=null==e?0:e.length,!!f&&s(f)&&i(d,f)&&(a(e)||o(e)))}e.exports=c},e2e4:function(e,t,r){var n=r("6747"),o=r("f608"),a=r("18d8"),i=r("76dd");function s(e,t){return n(e)?e:o(e,t)?[e]:a(i(e))}e.exports=s},e380:function(e,t,r){var n=r("7b83"),o="Expected a function";function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(o);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var i=e.apply(this,n);return r.cache=a.set(o,i)||a,i};return r.cache=new(a.Cache||n),r}a.Cache=n,e.exports=a},e538:function(e,t,r){(function(e){var n=r("2b3e"),o=t&&!t.nodeType&&t,a=o&&"object"==typeof e&&e&&!e.nodeType&&e,i=a&&a.exports===o,s=i?n.Buffer:void 0,u=s?s.allocUnsafe:void 0;function c(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}e.exports=c}).call(this,r("62e4")(e))},e683:function(e,t,r){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},eac5:function(e,t){var r=Object.prototype;function n(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||r;return e===n}e.exports=n},ec69:function(e,t,r){var n=r("6fcd"),o=r("03dd"),a=r("30c9");function i(e){return a(e)?n(e):o(e)}e.exports=i},ec8c:function(e,t){function r(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}e.exports=r},efb6:function(e,t,r){var n=r("5e2e");function o(){this.__data__=new n,this.size=0}e.exports=o},f4d6:function(e,t,r){var n=r("ffd6"),o=1/0;function a(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-o?"-0":t}e.exports=a},f608:function(e,t,r){var n=r("6747"),o=r("ffd6"),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;function s(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||(i.test(e)||!a.test(e)||null!=t&&e in Object(t))}e.exports=s},f6b4:function(e,t,r){"use strict";var n=r("c532");function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){n.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=o},f8af:function(e,t,r){var n=r("2474");function o(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}e.exports=o},fa21:function(e,t,r){var n=r("7530"),o=r("2dcb"),a=r("eac5");function i(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}e.exports=i},fb15:function(e,t,r){"use strict";if(r.r(t),r.d(t,"user",(function(){return M})),r.d(t,"ajax",(function(){return v})),r.d(t,"request",(function(){return b})),r.d(t,"utils",(function(){return Ce})),r.d(t,"page",(function(){return He})),r.d(t,"dataHelper",(function(){return qe})),"undefined"!==typeof window){var n=window.document.currentScript,o=r("8875");n=o(),"currentScript"in document||Object.defineProperty(document,"currentScript",{get:o});var a=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);a&&(r.p=a[1])}var i=r("bc3a"),s=r.n(i),u=r("a78e"),c=r.n(u),f="ed66e7a8-abf6-4262-822d-cd53cb4ae4fe";const l="EAP-Token";function d(){let e=c.a.get(l),t=Object({NODE_ENV:"production",VUE_APP_BASE_API:"http://192.168.4.106:7777",BASE_URL:"/"});return e||"development"!=t.NODE_ENV?e:f}function p(e){return c.a.set(l,e)}function h(){return c.a.remove(l)}var g={getToken:d,setToken:p,removeToken:h},y=r("5f72");const w=s.a.create({baseURL:"http://192.168.4.106:7777",timeout:3e4});let m=!0;try{m=!(!m||!y["Message"])}catch(ze){m=!1}w.defaults.headers.post["Content-Type"]="application/json;charset=UTF-8",w.interceptors.request.use(e=>{void 0===e.headers["Content-Type"]&&(e.headers["Content-Type"]="application/json;charset=UTF-8");const t=d();if(t&&(e.headers["Authorization"]="Bearer "+t),window.HIVUI_SETTING&&((window.HIVUI_SETTING.requestTimeout||0==window.HIVUI_SETTING.requestTimeout)&&(e.timeout=window.HIVUI_SETTING.requestTimeout),window.HIVUI_SETTING.projectName&&-1==e.url.indexOf("pn=")&&(!e.params||!e.params.pn))){let t=window.HIVUI_SETTING.projectName;-1==e.url.indexOf("?")?e.url=e.url+"?pn="+t:e.url=e.url+"&pn="+t}const r=e.headers["sign"];if(r||void 0===r){const t=(new Date).getTime().toString().substr(0,10);e.headers["timeStamp"]=t}return e.isDownload&&(e.responseType="blob",delete e.isDownload),e},e=>Promise.reject(e)),w.interceptors.response.use(e=>{if("arraybuffer"==e.config.responseType)return e;const t=e.data;if("application/octet-stream"==t.type||"application/octet-stream"==e.headers["content-type"])return e;if("blob"==e.config.responseType){let e=new FileReader;return e.readAsText(t,"utf-8"),e.onload=function(){let t=JSON.parse(e.result);return m&&Object(y["Message"])({message:t.msg||t.message||"Error",type:"error"})},Promise.reject(t)}if("200"!=e.status||e.data.status&&"200"!=e.data.status){if(e.config.data&&!1===JSON.parse(e.config.data).__isIntercept){if(e.config.data)try{t.options=JSON.parse(e.config.data)}catch(ze){}return Promise.reject(t)}return m&&Object(y["Message"])({message:t.msg||t.message||"Error",type:"error",duration:5e3}),401==t.status||t.data&&401==t.data.status?(m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;if(window.HIVUI_SETTING.isSingleLogin&&(e=window.HIVUI_SETTING.singleLoginUrl),e.endsWith("=")){let t=window.location.search.slice(1).split("&").filter(e=>{if(-1==e.indexOf("ticket"))return e}),r=window.location.origin+window.location.pathname;-1==window.HIVUI_SETTING.mainPageUrl.indexOf(r)&&(t.push("returnPage="+r),r=window.HIVUI_SETTING.mainPageUrl),r=r.replace(/#\//g,""),e=e+r+(t.length>0?"?":"")+t.join("&")}window.location.href=e}),Promise.reject(error)):Promise.reject(t,JSON.parse(e.config.data||"{}"))}if(t.dataPack=t.dataPack||t.data,(t.detailMsg||t.msg)&&m&&Object(y["Message"])({message:t.detailMsg||t.msg||"Error",type:t.popupbox&&t.popupbox.type||"success",duration:5e3}),e.config.data)try{t.options=JSON.parse(e.config.data)}catch(ze){}return t},e=>{let t=e.response;return t.config.data&&!1===JSON.parse(t.config.data).__isIntercept?Promise.reject(e):401==t.status||t.data&&401==t.data.status?(m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;if(window.HIVUI_SETTING.isSingleLogin&&(e=window.HIVUI_SETTING.singleLoginUrl),e.endsWith("=")){let t=window.location.search.slice(1).split("&").filter(e=>{if(-1==e.indexOf("ticket"))return e}),r=window.location.origin+window.location.pathname;-1==window.HIVUI_SETTING.mainPageUrl.indexOf(r)&&(t.push("returnPage="+r),r=window.HIVUI_SETTING.mainPageUrl),r=r.replace(/#\//g,""),e=e+r+(t.length>0?"?":"")+t.join("&")}window.location.href=e}),Promise.reject(e)):(console.log("err"+e),Promise.reject(e))});var b=w;function v(e){const t=d();if(window.HIVUI_SETTING&&((window.HIVUI_SETTING.requestTimeout||0==window.HIVUI_SETTING.requestTimeout)&&(e.timeout=window.HIVUI_SETTING.requestTimeout),window.HIVUI_SETTING.projectName)){let t=window.HIVUI_SETTING.projectName;-1==e.url.indexOf("?")?e.url=e.url+"?pn="+t:e.url=e.url+"&pn="+t}let r=e.url||"",n=e.method||"GET",o=e.data||{},a=e.success,i=void 0==e.async||e.async,s=e.fail;var u=new XMLHttpRequest;if(u.open(n,r,i),e.timeout&&(u.timeout=e.timeout),u.setRequestHeader("Content-Type","application/json;charset=UTF-8"),t&&u.setRequestHeader("Authorization","Bearer "+t),"{}"!=JSON.stringify(o)?u.send(JSON.stringify(o)):u.send(),0==i)if(200==u.status){var c=JSON.parse(u.responseText);a&&a.call(this,c)}else{c=JSON.parse(u.responseText);m&&Object(y["Message"])({message:c.msg||c.message||"Error",type:"error",duration:5e3}),401==c.status||c.data&&401==c.data.status?m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;e.endsWith("=")&&(e+=window.location.href),window.location.href=e}):s&&s.call(this,u.responseText)}else u.onreadystatechange=function(){if(4==u.readyState)if(200==u.status||"200"==u.status){var e=JSON.parse(u.responseText);a&&a.call(this,e)}else{e=JSON.parse(u.responseText);m&&Object(y["Message"])({message:e.msg||e.message||"Error",type:"error",duration:5e3}),401==e.status||e.data&&401==e.data.status?m&&y["MessageBox"].alert("你已被登出,请重新登录","登录超时",{confirmButtonText:"重新登录",type:"warning"}).then(()=>{let e=window.HIVUI_SETTING.loginUrl;e.endsWith("=")&&(e+=window.location.href),window.location.href=e}):s&&s.call(this,u.responseText)}}}var _=r("8237"),x=r.n(_);let T="/kk",S="/kkoauth";var I={projectName:"eap5csxm/admin",url:"http://192.168.4.106:7777",editorImgServer:"",serverUrl:"http://192.168.4.106:7777"+T,platform:"http://192.168.4.106:7777"+S,oauth:"http://192.168.4.106:7777"+S,userInfo:"http://192.168.4.106:7777"+T+"/sys/user/detail",saveUrl:"http://192.168.4.106:7777"+T+"/data/save",queryUrl:"http://192.168.4.106:7777"+T+"/data/query",exportUrl:"http://192.168.4.106:7777"+T+"/export/dataexcel",policyUrl:"http://192.168.4.106:7777"+T+"/data/policy",upload:"http://192.168.4.106:7777"+T+"/file/upload",download:"http://192.168.4.106:7777"+T+"/file/download",review:"http://192.168.4.106:7777"+T+"/file/review",getFlowInfo:"http://192.168.4.106:7777"+T+"/flow/open",getApprovalInfo:"http://192.168.4.106:7777"+T+"/flow/getApprovalInfo",processFlow:"http://192.168.4.106:7777"+T+"/flow/processFlow",umpireOrder:"http://192.168.4.106:7777"+T+"/flow/umpireOrder",queryTask:"http://192.168.4.106:7777"+T+"/flow/queryTask",withdrawtask:"http://192.168.4.106:7777"+T+"/flow/withdrawtask",taskDiagram:"http://192.168.4.106:7777"+T+"/flow/taskDiagram",editorImgServer:"",openOrdernumber:"http://192.168.4.106:7777"+T+"/flow/openOrdernumber"},E=b;function j(e,t){var r={username:e.trim(),password:x()(t)};let n=E({url:window.HIVUI_SETTING.login||window.HIVUI_SETTING.serverUrl+"/login/sso-login",method:"post",data:r});return n.then(e=>{const t=e;t.token&&p(t.token)}),n}function D(){if(!d())return new Promise((e,t)=>{e()});let e=E({url:window.HIVUI_SETTING.logout||window.HIVUI_SETTING.serverUrl+"/login/sso-logout",method:"post"});return e.then(e=>{h()}),e}function O(e){return E({url:window.HIVUI_SETTING.userInfo,method:"post",data:e})}function A(e,t){return E({url:window.HIVUI_SETTING.serverUrl+"/sys/user/update-pwd",method:"post",data:{oldPwd:e,newPwd:t}})}window.HIVUI_SETTING?E=window.HIVUI_SETTING.request:window.HIVUI_SETTING=I;var N={login:j,logout:D,getInfo:O,modifyPw:A},M={service:N,auth:g},k={string:"dbString",int:"dbInt",float:"dbFloat",double:"dbDouble",text:"dbText ",boolean:"dbBoolean ",datetime:"dbDatetime ",timestamp:"dbTimestamp "},R={pageIndex:"pageNum",pageSize:"pageSize",body:"__body",funcpath:"__funcpath",returnTotal:"__returnCount",zcQuery:"__zcQuery",slaveExport:"__slaveExport",sheetStyle:"__sheetStyle",sheetDatas:"__sheetDatas"},C=r("3852"),H=r.n(C);let U=class{constructor(e){e=e||{},this.className="WhereCondition",this.enabled=null,this.sign=null,this.name=null,this.dataType=null,this.tablefilter=null,this.value=null,this.enabled=!0,this.setValue(e.name,e.value,e.dataType,e.sign,e.tablefilter)}setValue(e,t,r,n,o){this.sign=n||"=",this.name=e||"",this.dataType=r||k.string,this.value=t,this.enabled=!0,this.tablefilter=void 0!=o&&o}getValue(){return{sign:this.sign,name:this.name,tablefilter:this.tablefilter,dataType:this.dataType,value:this.value,enabled:!0}}},P=class e{constructor(e,t=[]){if(e=e||{},this.params=t,this.className="Where",this.join=null,this.items=null,e.junction&&(e.join=e.junction),e.join||(e.join="and"),null==e.criterionData)e.join||(e.join="and"),this.setWhereData(e.join,[]);else{var r=typeof e.criterionData,n={};switch(r){case"string":n=JSON.parse(e.criterionData);break;case"object":n=e.criterionData;break}this.setCriterionData(n)}}setValue(e,t){this.setWhereData(e,t)}setWhereData(e,t){this.join=e||"and",this.items=t||[]}setCriterionData(e){var t=typeof e,r={};switch(t){case"string":r=JSON.parse(e);break;case"object":r=e;break}this.join=r.join||"and",this.items=[],this.recursiveSetCriteria(this,r.items)}recursiveSetCriteria(t,r){var n=this;if(null!=r&&0!=r.length)for(var o=r.length,a=0;a<o;a++){var i=r[a];if(i.join){var s=new e({join:i.join});this.recursiveSetCriteria(s,i.items),t.addWhere(s)}else if(i.sign){var u=i.name.replace("&[","").replace("]","");if(u=u.replace("this.get('","").replace("')",""),"function"==typeof i.value){var c=n.filterValue(i.value);t.addCondition(u,c,i.dataType,i.sign,!1,i.tablefilter)}else t.addCondition(u,i.value,i.dataType,i.sign,!1,i.tablefilter)}}else t.items=[]}filterValue(e){var t;return t=e.call(this,...this.params),t}addWhere(e){e&&this.items.push(e)}addCondition(e,t,r,n,o,a){!n&&this.$HI&&(n=this.$HI.queryOperate||"eq"),n||(n="eq");let i,s=["in","notIn"];if("function"===typeof t&&(t=t.call()),i=s.indexOf(n)>-1&&!(t instanceof Array)?t.split(","):t,o)for(var u=0;u<this.items.length;u++)if(e==this.items[u].name)return this.items[u].value=i,this.items[u].tablefilter=a,this.items[u].dataType=r||k.string,void(this.items[u].sign=n);var c=new U({name:e,tablefilter:a,value:i,sign:n,dataType:r||k.string});this.items.push(c)}add(e,t,r,n,o){this.addEqual(e,t,r,n,o)}_addEqual(e,t,r,n,o){this.addCondition(e,t,r,"eq",n,o)}_addArray(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"in",n,o)}_addNotIn(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"notIn",n,o)}_addIsNull(e,t,r,n,o){this.addCondition(e,"",r,"isnull",n,o)}_addIsNotNull(e,t,r,n,o){this.addCondition(e,"",r,"isnotnull",n,o)}_addNotEqual(e,t,r,n,o){this.addCondition(e,t,r,"noteq",n,o)}_addGreaterThan(e,t,r,n,o){this.addCondition(e,t,r,"gt",n,o)}_addLessThan(e,t,r,n,o){this.addCondition(e,t,r,"lt",n,o)}_addGreaterThanAndEqual(e,t,r,n,o){this.addCondition(e,t,r,"gteq",n,o)}_addLike(e,t,r,n,o){this.addCondition(e,t,r,"like",n,o)}_addLessThanAndEqual(e,t,r,n,o){this.addCondition(e,t,r,"lteq",n,o)}_addLeftLike(e,t,r,n,o){this.addCondition(e,t,r,"likeLeft",n,o)}_addRightLike(e,t,r,n,o){this.addCondition(e,t,r,"likeRight",n,o)}eq(e,t,r,n,o){this._addEqual(e,t,r,n,o)}def(e,t,r,n,o){this.addCondition(e,t,r,null,n,o)}in(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"in",n,o)}notIn(e,t,r,n,o){t instanceof Array||!t.split||(t=t.split(",")),0!=t.length&&this.addCondition(e,t,r,"notIn",n,o)}inRange(e,t,r,n,o){this.addCondition(e,t,r,"inRange",n,o)}outRange(e,t,r,n,o){this.addCondition(e,t,r,"outRange",n,o)}between(e,t,r,n,o){this.addCondition(e,t,r,"between",n,o)}noteq(e,t,r,n,o){this._addNotEqual(e,t,r,n,o)}gt(e,t,r,n,o){this._addGreaterThan(e,t,r,n,o)}gteq(e,t,r,n,o){this._addGreaterThanAndEqual(e,t,r,n,o)}lt(e,t,r,n,o){this._addLessThan(e,t,r,n,o)}lteq(e,t,r,n,o){this._addLessThanAndEqual(e,t,r,n,o)}like(e,t,r,n,o,a){this._addLike(e,t,r,o,a)}leftLike(e,t,r,n,o){this._addLeftLike(e,t,r,n,o)}rightLike(e,t,r,n,o){this._addRightLike(e,t,r,n,o)}getItemByIndex(e){return this.items[e]}deleteItemByIndex(e){this.items.splice(e,1)}getData(){var e=this.items.length;if(0==e)return null;for(var t={join:this.join,items:[]},r=0;r<e;r++){var n=this.items[r];this.recursiveWhereData(t,n)}return t}recursiveWhereData(e,t){if(t.items){var r=t.items.length;if(r>0){for(var n={join:t.join,items:[]},o=0;o<r;o++){var a=t.items[o];this.recursiveWhereData(n,a)}e.items.push(n)}}else{var i=t.getValue();e.items.push(i)}}toJSON(){return this.getData()}toStr(){return JSON.stringify(this.getData())}getConditionByKey(e){for(var t=this.items.length,r=0;r<t;r++){var n=this.items[r];if(n.property&&n.property==e)return n}return null}setCustomWhere(t){for(var r=new e({join:t||"and"}),n=0,o=this.items.length;n<o;n++)this.items[n].property?r.addCondition(this.items[n].name,this.items[n].value,this.items[n].dataType,this.items[n].sign,this.items[n].isCover,this.items[n].tablefilter):this._recursionWhere(r,this.items[n].items);this.join=r.join,this.items=r.items}_recursionWhere(e,t){for(var r=0,n=t.length;r<n;r++)t[r].property?e.addCondition(t[r].name,t[r].value,t[r].dataType,t[r].sign,t[r].isCover,t[r].tablefilter):this._recursionWhere(e,t[r].items)}isPaging(){var e=R.pageIndex,t=R.pageSize;return!(!H()(this,e)||!H()(this,t))}setPage(e,t){var r=R.pageIndex,n=R.pageSize;-1!=e&&-1!=t||(e=-1,t=-1),this[r]=e,this[n]=t}getPageIndex(){var e=this[R.pageIndex];return-1==e?1:e}getPageSize(){var e=this[R.pageSize];return-1==e?1e3:e}};P.prototype.equal=P.prototype.eq;var F=P;class q{constructor(e){e=e||{},this.orderData=[],e.orderData&&(this.orderData=e.orderData)}getOrderItemModel(){return{name:"",desc:"",type:"desc"}}addDesc(e,t){this.addOrder(e,"desc",t)}addAsc(e,t){this.addOrder(e,"asc",t)}addOrder(e,t,r){var n=this.getOrderItemModel();n.name=e,n.desc=r,n.type=t,this.orderData.push(n)}toJSON(){return this.orderData}toStr(){return JSON.stringify(this.orderData)}}const B={timeSchemeKey:{today:"today",yesterday:"yesterday",week:"week",month:"month",premonth:"premonth",quarter:"quarter",year:"year",days7:"days7",days28:"days28",days84:"days84",halfyear:"halfyear",oneyear:"oneyear"},format:function(e,t){if(!e)return"";"string"==typeof e&&(e=B.strToDate(e)),t=t.replace(/HH/,"hh");var r={"M+":e.getMonth()+1,"d+":e.getDate(),"D+":e.getDate(),"h+":e.getHours(),"H+":e.getHours(),"m+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3),S:e.getMilliseconds()};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),/(Y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),r)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?r[n]:("00"+r[n]).substr((""+r[n]).length)));return t},getServerTimeNow(){let e="";return window.eap.ajax({url:window.HIVUI_SETTING.getNowTimeUrl,method:"GET",async:!1,success:function(t){e=t.dataPack},fail:function(){}}),e},milliSecondsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),Math.abs(e.getTime()-t.getTime())},secondsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs((e.getTime()-t.getTime())/1e3):null},minutesBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/6e4)):null},hoursBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/36e5)):null},daysBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.floor(Math.abs((e.getTime()-t.getTime())/864e5)):null},monthsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs(12*(e.getFullYear()-t.getFullYear()))+Math.abs(e.getMonth()-t.getMonth()):null},yearsBetween:function(e,t){return"string"==typeof e&&(e=B.strToDate(e)),"string"==typeof t&&(t=B.strToDate(t)),e&&t?Math.abs(e.getFullYear()-t.getFullYear()):null},getWeekCn:function(e){var t=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");return"string"==typeof e&&(e=B.strToDate(e)),t[e.getDay()]},getWeek:function(e){return"string"==typeof e&&(e=B.strToDate(e)),e.getDay()},isDateTime:function(e){if(""==e.trim())return!1;var t=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/),r=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2}).(\d{1,6})$/),n=e.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2})$/);if(null==t&&null==r&&null==n)return!1;if(t=t||r||n,6==t.length){var o=new Date(t[1],t[2]-1,t[3],t[4],t[5]);let e=o.getFullYear()==t[1]&&o.getMonth()+1==t[2]&&o.getDate()==t[3]&&o.getHours()==t[4]&&o.getMinutes()==t[5];return 0!=e}var a=new Date(t[1],t[2]-1,t[3],t[4],t[5],t[6]);let i=a.getFullYear()==t[1]&&a.getMonth()+1==t[2]&&a.getDate()==t[3]&&a.getHours()==t[4]&&a.getMinutes()==t[5]&&a.getSeconds()==t[6];return 0!=i&&0!=i},isDate:function(e){if(""==e)return!0;var t=e.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);if(null==t)return!1;var r=new Date(t[1],t[3]-1,t[4]);let n=r.getFullYear()==t[1]&&r.getMonth()+1==t[3]&&r.getDate()==t[4];return 0!=n&&0!=n},dateof:function(e,t){let r;if(!e)return"";switch("string"==typeof e&&(e=B.strToDate(e)),t){case"y":r=e.getFullYear();break;case"m":r=e.getMonth()+1;break;case"min":r=e.getMinutes();break;case"time":r=B.format("yyyy-MM-dd hh:mm:ss");break;case"date":r=B.format("yyyy-MM-dd");break;case"weekCn":r=e.week();break;case"week":r=e.getDay();break;case"weekInYear":var n=new Date(e.getFullYear(),0,1),o=parseInt("1065432".charAt(n.getDay()));o=e.getTime()-n.getTime()-24*o*60*60*1e3,o=Math.ceil(o/6048e5),r=1!=n.getDay()?o+1:o;break;default:r=""}return r},strFormatDate:function(e,t){if(""==e||null==e)return"";let r=B.strToDate(e);return t?r.format(t):r},strToDate:function(e){if(!e)return"";if(e&&e.constructor===Date)return e;"string"==typeof e&&e.indexOf(".")>-1&&(e=e.split(".")[0]),-1==e.indexOf("-")&&-1==e.indexOf(".")&&-1!=e.indexOf(":")&&(e=B.dateOf(new Date)+" "+e);var t=e.split(/[- :]/);return""!=e&&1==t.length?(console.log(e+" Invalid Date"),""):new Date(Date.parse(e))},getQuarterStartDate:function(){var e=new Date,t="";return e.getMonth()<3?(t=new Date(e.getFullYear(),0,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>2&&e.getMonth()<6?(t=new Date(e.getFullYear(),3,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>5&&e.getMonth()<9?(t=new Date(e.getFullYear(),6,1),this.format(t,"yyyy-MM-dd")):e.getMonth()>8?(t=new Date(e.getFullYear(),9,1),this.format(t,"yyyy-MM-dd")):void 0},getQuarterEndDate:function(){var e=new Date,t="";return e.getMonth()<3?(t=new Date(e.getFullYear(),2,31),this.format(t,"yyyy-MM-dd")):e.getMonth()>2&&e.getMonth()<6?(t=new Date(e.getFullYear(),6,30),this.format(t,"yyyy-MM-dd")):e.getMonth()>5&&e.getMonth()<9?(t=new Date(e.getFullYear(),8,30),this.format(t,"yyyy-MM-dd")):e.getMonth()>8?(t=new Date(e.getFullYear(),11,31),this.format(t,"yyyy-MM-dd")):void 0},getYearStartDate:function(){var e=new Date,t=new Date(e.getFullYear(),0,1);return this.format(t,"yyyy-MM-dd")},getYearEndDate:function(){var e=new Date,t=new Date(e.getFullYear(),11,31);return this.format(t,"yyyy-MM-dd")},getMonthDays:function(e,t){if(void 0==t){var r=new Date;t=r.getFullYear()}e--;var n=new Date(t,e,1);return n.setDate(n.getDate()+32-n.getDate()),32-n.getDate()},getWeekStartDate:function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()-e.getDay());return this.format(t,"yyyy-MM-dd")},getWeekEndDate:function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()+(6-e.getDay()));return this.format(t,"yyyy-MM-dd")},getMonthStartDate:function(e){var t=new Date;e&&"string"==typeof e&&(t=B.strToDate(e));var r=new Date(t.getFullYear(),t.getMonth(),1);return this.format(r,"yyyy-MM-dd")},getMonthEndDate:function(e){var t=new Date;e&&"string"==typeof e&&(t=B.strToDate(e));let r=t.getFullYear(),n=t.getMonth();var o=new Date(new Date(r,n+1,1).getTime()-864e5);return this.format(o,"yyyy-MM-dd")},now:function(e){return e=e||"yyyy-MM-dd hh:mm:ss",this.format(new Date,e)},currentNow:function(){return new Date},TimeScheme:function(e){var t=" 00:00:00到",r=" 23:59:59";switch(e){case"today":return this.format(this.strToDate(this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"yesterday":return this.format(this.dateAdd("d",-1,this.now()),"yyyy-MM-dd")+t+this.format(this.dateAdd("d",-1,this.now()),"yyyy-MM-dd")+r;case"week":return this.getWeekStartDate()+t+this.getWeekEndDate()+r;case"month":return this.getMonthStartDate()+t+this.getMonthEndDate()+r;case"quarter":return this.getQuarterStartDate()+t+this.getQuarterEndDate()+r;case"year":return this.getYearStartDate()+t+this.getYearEndDate()+r;case"days7":return this.format(this.dateAdd("d",-7,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"days28":return this.format(this.dateAdd("d",-28,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"days84":return this.format(this.dateAdd("d",-84,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"halfyear":return this.format(this.dateAdd("d",-180,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r;case"oneyear":return this.format(this.dateAdd("d",-365,this.now()),"yyyy-MM-dd")+t+this.format(this.strToDate(this.now()),"yyyy-MM-dd")+r}},dateAdd:function(e,t,r){"string"==typeof r&&(r=B.strToDate(r));var n=new Date(r);e=(e||"d").toLowerCase();let o,a=parseInt(t);switch(e){case"y":o=n.setYear(n.getFullYear()+a);break;case"q":o=n.setMonth(n.getMonth()+3*a);break;case"m":var i=n.getFullYear(),s=n.getMonth()+1,u=n.getDate(),c=i,f=s+a,l=u;while(f>12)c++,f-=12;var d=new Date(c,f-1,l);while(d.getMonth()!=f-1)l--,d=new Date(c,f-1,l);o=d;break;case"d":o=n.setDate(n.getDate()+a);break;case"h":o=n.setHours(n.getHours()+a);break;case"mi":o=n.setMinutes(n.getMinutes()+a);break;case"s":o=n.setSeconds(n.getSeconds()+a);break;default:o=n.setDate(n.getDate()+a);break}return new Date(o)}};var z=B,V=r("3e8f");const $={accDiv:function(e,t){var r,n,o=0,a=0;try{o=e.toString().split(".")[1].length}catch(ze){o=0}try{a=t.toString().split(".")[1].length}catch(ze){a=0}return r=Number(e.toString().replace(".","")),n=Number(t.toString().replace(".","")),r/n*Math.pow(10,a-o)},accMul:function(e,t){var r=0,n=e.toString(),o=t.toString();try{r+=n.split(".")[1].length}catch(ze){r=0}try{r+=o.split(".")[1].length}catch(ze){r+=0}return Number(n.replace(".",""))*Number(o.replace(".",""))/Math.pow(10,r)},accAdd:function(e,t){var r,n,o;try{r=e.toString().split(".")[1].length}catch(ze){r=0}try{n=t.toString().split(".")[1].length}catch(ze){n=0}return o=Math.pow(10,Math.max(r,n)),($.accMul(e,o)+$.accMul(t,o))/o},toFixed(e,t){t<0&&(t=0);let r=e+"";if(t||(t=0),-1==r.indexOf(".")&&(r+="."),r+=new Array(t+1).join("0"),new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+(t+1)+"})?)\\d*$").test(r)){let e="0"+RegExp.$2,n=RegExp.$1,o=RegExp.$3.length,a=!0;if(o==t+2){if(o=V["statSync"].match(/\d/g),parseInt(o[o.length-1])>4)for(let e=o.length-2;e>=0;e--){if(o[e]=parseInt(o[e])+1,10!=o[e])break;o[e]=0,a=1!=e}e=o.join("").replace(new RegExp("(\\d+)(\\d{"+t+"})\\d$"),"$1.$2")}return a&&(e=r.substr(1)),(n+e).replace(/\.$/,"")}return this+""},formatCn(e){let t=["角","分"],r=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],n=[["元","万","亿"],["","拾","佰","仟"]],o=e<0?"欠":"";e=Math.abs(e);let a="";for(let i=0;i<t.length;i++)a+=(r[Math.floor(10*e*Math.pow(10,i))%10]+t[i]).replace(/零./,"");a=a||"整",e=Math.floor(e);for(let i=0;i<n[0].length&&e>0;i++){let t="";for(let o=0;o<n[1].length&&e>0;o++)t=r[e%10]+n[1][o]+t,e=Math.floor(e/10);a=t.replace(/(零.)*零$/,"").replace(/^$/,"零")+n[0][i]+a}return o+a.replace(/(零.)*零元/,"元").replace(/(零.)+/g,"零").replace(/^整$/,"零元整")},format:function(e,t){if(t||(t="000,0.00"),t.indexOf("¥")>-1&&(t="¥000,0.00"),isFinite(e)&&(e=parseFloat(e)),t.indexOf("%")>-1&&(e*=100),e=isNaN(e)?NaN:e,isNaN(e))return"";let r,n,o,a,i,s,u,c,f,l=/[^\d\.]/g,d=",",p=".",h=e<0;if(e=Math.abs(e),r=-1!=t.indexOf(","),n=t.replace(l,"").split("."),n.length>2)alert("对比格式无效");else if(n.length>1){let t=n[1].length||0,r=Math.pow(10,t);e=Number(Math.round(e*r)/r).toFixed(t)}else{let t=n[0].length||0,r=Math.pow(10,t);e=Number(Math.round(e*r)/r).toFixed(0)}if(o=e.toString(),n=o.split("."),r){for(a=n[0],i=[],s=a.length,u=Math.floor(s/3),c=a.length%3||3,f=0;f<s;f+=c)0!==f&&(c=3),i[i.length]=a.substr(f,c),u-=1;o=i.join(d),n[1]&&(o+=p+n[1])}else n[1]&&(o=n[0]+p+n[1]);return h&&(h=""!==o.replace(/[^1-9]/g,"")),(h?"-":"")+t.replace(/[\d,?\.?]+/,o)}};var L=$;const W={a:"啊阿锕",ai:"埃挨哎唉哀皑癌蔼矮艾碍爱隘诶捱嗳嗌嫒瑷暧砹锿霭",an:"鞍氨安俺按暗岸胺案谙埯揞犴庵桉铵鹌顸黯",ang:"肮昂盎",ao:"凹敖熬翱袄傲奥懊澳坳拗嗷噢岙廒遨媪骜聱螯鏊鳌鏖",ba:"芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸茇菝萆捭岜灞杷钯粑鲅魃",bai:"白柏百摆佰败拜稗薜掰鞴",ban:"斑班搬扳般颁板版扮拌伴瓣半办绊阪坂豳钣瘢癍舨",bang:"邦帮梆榜膀绑棒磅蚌镑傍谤蒡螃",bao:"苞胞包褒雹保堡饱宝抱报暴豹鲍爆勹葆宀孢煲鸨褓趵龅",bo:"剥薄玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳亳蕃啵饽檗擘礴钹鹁簸跛",bei:"杯碑悲卑北辈背贝钡倍狈备惫焙被孛陂邶埤蓓呗怫悖碚鹎褙鐾",ben:"奔苯本笨畚坌锛",beng:"崩绷甭泵蹦迸唪嘣甏",bi:"逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛匕仳俾芘荜荸吡哔狴庳愎滗濞弼妣婢嬖璧贲畀铋秕裨筚箅篦舭襞跸髀",bian:"鞭边编贬扁便变卞辨辩辫遍匾弁苄忭汴缏煸砭碥稹窆蝙笾鳊",biao:"标彪膘表婊骠飑飙飚灬镖镳瘭裱鳔",bie:"鳖憋别瘪蹩鳘",bin:"彬斌濒滨宾摈傧浜缤玢殡膑镔髌鬓",bing:"兵冰柄丙秉饼炳病并禀邴摒绠枋槟燹",bu:"捕卜哺补埠不布步簿部怖拊卟逋瓿晡钚醭",ca:"擦嚓礤",cai:"猜裁材才财睬踩采彩菜蔡",can:"餐参蚕残惭惨灿骖璨粲黪",cang:"苍舱仓沧藏伧",cao:"操糙槽曹草艹嘈漕螬艚",ce:"厕策侧册测刂帻恻",ceng:"层蹭噌",cha:"插叉茬茶查碴搽察岔差诧猹馇汊姹杈楂槎檫钗锸镲衩",chai:"拆柴豺侪茈瘥虿龇",chan:"搀掺蝉馋谗缠铲产阐颤冁谄谶蒇廛忏潺澶孱羼婵嬗骣觇禅镡裣蟾躔",chang:"昌猖场尝常长偿肠厂敞畅唱倡伥鬯苌菖徜怅惝阊娼嫦昶氅鲳",chao:"超抄钞朝嘲潮巢吵炒怊绉晁耖",che:"车扯撤掣彻澈坼屮砗",chen:"郴臣辰尘晨忱沉陈趁衬称谌抻嗔宸琛榇肜胂碜龀",cheng:"撑城橙成呈乘程惩澄诚承逞骋秤埕嵊徵浈枨柽樘晟塍瞠铖裎蛏酲",chi:"吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽傺墀芪茌搋叱哧啻嗤彳饬沲媸敕胝眙眵鸱瘛褫蚩螭笞篪豉踅踟魑",chong:"充冲虫崇宠茺忡憧铳艟",chou:"抽酬畴踌稠愁筹仇绸瞅丑俦圳帱惆溴妯瘳雠鲋",chu:"臭初出橱厨躇锄雏滁除楚础储矗搐触处亍刍憷绌杵楮樗蜍蹰黜",chuan:"揣川穿椽传船喘串掾舛惴遄巛氚钏镩舡",chuang:"疮窗幢床闯创怆",chui:"吹炊捶锤垂陲棰槌",chun:"春椿醇唇淳纯蠢促莼沌肫朐鹑蝽",chuo:"戳绰蔟辶辍镞踔龊",ci:"疵茨磁雌辞慈瓷词此刺赐次荠呲嵯鹚螅糍趑",cong:"聪葱囱匆从丛偬苁淙骢琮璁枞",cu:"凑粗醋簇猝殂蹙",cuan:"蹿篡窜汆撺昕爨",cui:"摧崔催脆瘁粹淬翠萃悴璀榱隹",cun:"村存寸磋忖皴",cuo:"撮搓措挫错厝脞锉矬痤鹾蹉躜",da:"搭达答瘩打大耷哒嗒怛妲疸褡笪靼鞑",dai:"呆歹傣戴带殆代贷袋待逮怠埭甙呔岱迨逯骀绐玳黛",dan:"耽担丹单郸掸胆旦氮但惮淡诞弹蛋亻儋卩萏啖澹檐殚赕眈瘅聃箪",dang:"当挡党荡档谠凼菪宕砀铛裆",dao:"刀捣蹈倒岛祷导到稻悼道盗叨啁忉洮氘焘忑纛",de:"德得的锝",deng:"蹬灯登等瞪凳邓噔嶝戥磴镫簦",di:"堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔氐籴诋谛邸坻莜荻嘀娣柢棣觌砥碲睇镝羝骶",dian:"颠掂滇碘点典靛垫电佃甸店惦奠淀殿丶阽坫埝巅玷癜癫簟踮",diao:"碉叼雕凋刁掉吊钓调轺铞蜩粜貂",die:"跌爹碟蝶迭谍叠佚垤堞揲喋渫轶牒瓞褶耋蹀鲽鳎",ding:"丁盯叮钉顶鼎锭定订丢仃啶玎腚碇町铤疔耵酊",dong:"东冬董懂动栋侗恫冻洞垌咚岽峒夂氡胨胴硐鸫",dou:"兜抖斗陡豆逗痘蔸钭窦窬蚪篼酡",du:"都督毒犊独读堵睹赌杜镀肚度渡妒芏嘟渎椟橐牍蠹笃髑黩",duan:"端短锻段断缎彖椴煅簖",dui:"堆兑队对怼憝碓",dun:"墩吨蹲敦顿囤钝盾遁炖砘礅盹镦趸",duo:"掇哆多夺垛躲朵跺舵剁惰堕咄哚缍柁铎裰踱",e:"蛾峨鹅俄额讹娥恶厄扼遏鄂饿噩谔垩垭苊莪萼呃愕屙婀轭曷腭硪锇锷鹗颚鳄",en:"恩蒽摁唔嗯",er:"而儿耳尔饵洱二贰迩珥铒鸸鲕",fa:"发罚筏伐乏阀法珐垡砝",fan:"藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛蘩幡犭梵攵燔畈蹯",fang:"坊芳方肪房防妨仿访纺放匚邡彷钫舫鲂",fei:"菲非啡飞肥匪诽吠肺废沸费芾狒悱淝妃绋绯榧腓斐扉祓砩镄痱蜚篚翡霏鲱",fen:"芬酚吩氛分纷坟焚汾粉奋份忿愤粪偾瀵棼愍鲼鼢",feng:"丰封枫蜂峰锋风疯烽逢冯缝讽奉凤俸酆葑沣砜",fu:"佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐匐凫郛芙苻茯莩菔呋幞滏艴孚驸绂桴赙黻黼罘稃馥虍蚨蜉蝠蝮麸趺跗鳆",ga:"噶嘎蛤尬呷尕尜旮钆",gai:"该改概钙盖溉丐陔垓戤赅胲",gan:"干甘杆柑竿肝赶感秆敢赣坩苷尴擀泔淦澉绀橄旰矸疳酐",gang:"冈刚钢缸肛纲岗港戆罡颃筻",gong:"杠工攻功恭龚供躬公宫弓巩汞拱贡共蕻廾咣珙肱蚣蛩觥",gao:"篙皋高膏羔糕搞镐稿告睾诰郜蒿藁缟槔槁杲锆",ge:"哥歌搁戈鸽胳疙割革葛格阁隔铬个各鬲仡哿塥嗝纥搿膈硌铪镉袼颌虼舸骼髂",gei:"给",gen:"根跟亘茛哏艮",geng:"耕更庚羹埂耿梗哽赓鲠",gou:"钩勾沟苟狗垢构购够佝诟岣遘媾缑觏彀鸲笱篝鞲",gu:"辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇嘏诂菰哌崮汩梏轱牯牿胍臌毂瞽罟钴锢瓠鸪鹄痼蛄酤觚鲴骰鹘",gua:"刮瓜剐寡挂褂卦诖呱栝鸹",guai:"乖拐怪哙",guan:"棺关官冠观管馆罐惯灌贯倌莞掼涫盥鹳鳏",guang:"光广逛犷桄胱疒",gui:"瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽匦刿庋宄妫桧炅晷皈簋鲑鳜",gun:"辊滚棍丨衮绲磙鲧",guo:"锅郭国果裹过馘蠃埚掴呙囗帼崞猓椁虢锞聒蜮蜾蝈",ha:"哈",hai:"骸孩海氦亥害骇咴嗨颏醢",han:"酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉邗菡撖阚瀚晗焓颔蚶鼾",hen:"夯痕很狠恨",hang:"杭航沆绗珩桁",hao:"壕嚎豪毫郝好耗号浩薅嗥嚆濠灏昊皓颢蚝",he:"呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺诃劾壑藿嗑嗬阖盍蚵翮",hei:"嘿黑",heng:"哼亨横衡恒訇蘅",hong:"轰哄烘虹鸿洪宏弘红黉讧荭薨闳泓",hou:"喉侯猴吼厚候后堠後逅瘊篌糇鲎骺",hu:"呼乎忽瑚壶葫胡蝴狐糊湖弧虎唬护互沪户冱唿囫岵猢怙惚浒滹琥槲轷觳烀煳戽扈祜鹕鹱笏醐斛",hua:"花哗华猾滑画划化话劐浍骅桦铧稞",huai:"槐徊怀淮坏还踝",huan:"欢环桓缓换患唤痪豢焕涣宦幻郇奂垸擐圜洹浣漶寰逭缳锾鲩鬟",huang:"荒慌黄磺蝗簧皇凰惶煌晃幌恍谎隍徨湟潢遑璜肓癀蟥篁鳇",hui:"灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘诙茴荟蕙哕喙隳洄彗缋珲晖恚虺蟪麾",hun:"荤昏婚魂浑混诨馄阍溷缗",huo:"豁活伙火获或惑霍货祸攉嚯夥钬锪镬耠蠖",ji:"击圾基机畸稽积箕肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪居丌乩剞佶佴脔墼芨芰萁蒺蕺掎叽咭哜唧岌嵴洎彐屐骥畿玑楫殛戟戢赍觊犄齑矶羁嵇稷瘠瘵虮笈笄暨跻跽霁鲚鲫髻麂",jia:"嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁伽郏拮岬浃迦珈戛胛恝铗镓痂蛱笳袈跏",jian:"歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件健舰剑饯渐溅涧建僭谏谫菅蒹搛囝湔蹇謇缣枧柙楗戋戬牮犍毽腱睑锏鹣裥笕箴翦趼踺鲣鞯",jiang:"僵姜将浆江疆蒋桨奖讲匠酱降茳洚绛缰犟礓耩糨豇",jiao:"蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫佼僬茭挢噍峤徼姣纟敫皎鹪蛟醮跤鲛",jie:"窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届偈讦诘喈嗟獬婕孑桀獒碣锴疖袷颉蚧羯鲒骱髫",jin:"巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸尽卺荩堇噤馑廑妗缙瑾槿赆觐钅锓衿矜",jing:"劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净刭儆阱菁獍憬泾迳弪婧肼胫腈旌",jiong:"炯窘冂迥扃",jiu:"揪究纠玖韭久灸九酒厩救旧臼舅咎就疚僦啾阄柩桕鹫赳鬏",ju:"鞠拘狙疽驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧倨讵苣苴莒掬遽屦琚枸椐榘榉橘犋飓钜锔窭裾趄醵踽龃雎鞫",juan:"捐鹃娟倦眷卷绢鄄狷涓桊蠲锩镌隽",jue:"撅攫抉掘倔爵觉决诀绝厥劂谲矍蕨噘崛獗孓珏桷橛爝镢蹶觖",jun:"均菌钧军君峻俊竣浚郡骏捃狻皲筠麇",ka:"喀咖卡佧咔胩",ke:"咯坷苛柯棵磕颗科壳咳可渴克刻客课岢恪溘骒缂珂轲氪瞌钶疴窠蝌髁",kai:"开揩楷凯慨剀垲蒈忾恺铠锎",kan:"刊堪勘坎砍看侃凵莰莶戡龛瞰",kang:"康慷糠扛抗亢炕坑伉闶钪",kao:"考拷烤靠尻栲犒铐",ken:"肯啃垦恳垠裉颀",keng:"吭忐铿",kong:"空恐孔控倥崆箜",kou:"抠口扣寇芤蔻叩眍筘",ku:"枯哭窟苦酷库裤刳堀喾绔骷",kua:"夸垮挎跨胯侉",kuai:"块筷侩快蒯郐蒉狯脍",kuan:"宽款髋",kuang:"匡筐狂框矿眶旷况诓诳邝圹夼哐纩贶",kui:"亏盔岿窥葵奎魁傀馈愧溃馗匮夔隗揆喹喟悝愦阕逵暌睽聩蝰篑臾跬",kun:"坤昆捆困悃阃琨锟醌鲲髡",kuo:"括扩廓阔蛞",la:"垃拉喇蜡腊辣啦剌摺邋旯砬瘌",lai:"莱来赖崃徕涞濑赉睐铼癞籁",lan:"蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥啉岚懔漤榄斓罱镧褴",lang:"琅榔狼廊郎朗浪莨蒗啷阆锒稂螂",lao:"捞劳牢老佬姥酪烙涝唠崂栳铑铹痨醪",le:"勒乐肋仂叻嘞泐鳓",lei:"雷镭蕾磊累儡垒擂类泪羸诔荽咧漯嫘缧檑耒酹",ling:"棱冷拎玲菱零龄铃伶羚凌灵陵岭领另令酃塄苓呤囹泠绫柃棂瓴聆蛉翎鲮",leng:"楞愣",li:"厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐痢立粒沥隶力璃哩俪俚郦坜苈莅蓠藜捩呖唳喱猁溧澧逦娌嫠骊缡珞枥栎轹戾砺詈罹锂鹂疠疬蛎蜊蠡笠篥粝醴跞雳鲡鳢黧",lian:"俩联莲连镰廉怜涟帘敛脸链恋炼练挛蔹奁潋濂娈琏楝殓臁膦裢蠊鲢",liang:"粮凉梁粱良两辆量晾亮谅墚椋踉靓魉",liao:"撩聊僚疗燎寥辽潦了撂镣廖料蓼尥嘹獠寮缭钌鹩耢",lie:"列裂烈劣猎冽埒洌趔躐鬣",lin:"琳林磷霖临邻鳞淋凛赁吝蔺嶙廪遴檩辚瞵粼躏麟",liu:"溜琉榴硫馏留刘瘤流柳六抡偻蒌泖浏遛骝绺旒熘锍镏鹨鎏",long:"龙聋咙笼窿隆垄拢陇弄垅茏泷珑栊胧砻癃",lou:"楼娄搂篓漏陋喽嵝镂瘘耧蝼髅",lu:"芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮垆摅撸噜泸渌漉璐栌橹轳辂辘氇胪镥鸬鹭簏舻鲈",lv:"驴吕铝侣旅履屡缕虑氯律率滤绿捋闾榈膂稆褛",luan:"峦孪滦卵乱栾鸾銮",lue:"掠略锊",lun:"轮伦仑沦纶论囵",luo:"萝螺罗逻锣箩骡裸落洛骆络倮荦摞猡泺椤脶镙瘰雒",ma:"妈麻玛码蚂马骂嘛吗唛犸嬷杩麽",mai:"埋买麦卖迈脉劢荬咪霾",man:"瞒馒蛮满蔓曼慢漫谩墁幔缦熳镘颟螨鳗鞔",mang:"芒茫盲忙莽邙漭朦硭蟒",meng:"氓萌蒙檬盟锰猛梦孟勐甍瞢懵礞虻蜢蠓艋艨黾",miao:"猫苗描瞄藐秒渺庙妙喵邈缈缪杪淼眇鹋蜱",mao:"茅锚毛矛铆卯茂冒帽貌贸侔袤勖茆峁瑁昴牦耄旄懋瞀蛑蝥蟊髦",me:"么",mei:"玫枚梅酶霉煤没眉媒镁每美昧寐妹媚坶莓嵋猸浼湄楣镅鹛袂魅",men:"门闷们扪玟焖懑钔",mi:"眯醚靡糜迷谜弥米秘觅泌蜜密幂芈冖谧蘼嘧猕獯汨宓弭脒敉糸縻麋",mian:"棉眠绵冕免勉娩缅面沔湎腼眄",mie:"蔑灭咩蠛篾",min:"民抿皿敏悯闽苠岷闵泯珉",ming:"明螟鸣铭名命冥茗溟暝瞑酩",miu:"谬",mo:"摸摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谟茉蓦馍嫫镆秣瘼耱蟆貊貘",mou:"谋牟某厶哞婺眸鍪",mu:"拇牡亩姆母墓暮幕募慕木目睦牧穆仫苜呒沐毪钼",na:"拿哪呐钠那娜纳内捺肭镎衲箬",nai:"氖乃奶耐奈鼐艿萘柰",nan:"南男难囊喃囡楠腩蝻赧",nao:"挠脑恼闹孬垴猱瑙硇铙蛲",ne:"淖呢讷",nei:"馁",nen:"嫩能枘恁",ni:"妮霓倪泥尼拟你匿腻逆溺伲坭猊怩滠昵旎祢慝睨铌鲵",nian:"蔫拈年碾撵捻念廿辇黏鲇鲶",niang:"娘酿",niao:"鸟尿茑嬲脲袅",nie:"捏聂孽啮镊镍涅乜陧蘖嗫肀颞臬蹑",nin:"您柠",ning:"狞凝宁拧泞佞蓥咛甯聍",niu:"牛扭钮纽狃忸妞蚴",nong:"脓浓农侬",nu:"奴努怒呶帑弩胬孥驽",nv:"女恧钕衄",nuan:"暖",nuenue:"虐",nue:"疟谑",nuo:"挪懦糯诺傩搦喏锘",ou:"哦欧鸥殴藕呕偶沤怄瓯耦",pa:"啪趴爬帕怕琶葩筢",pai:"拍排牌徘湃派俳蒎",pan:"攀潘盘磐盼畔判叛爿泮袢襻蟠蹒",pang:"乓庞旁耪胖滂逄",pao:"抛咆刨炮袍跑泡匏狍庖脬疱",pei:"呸胚培裴赔陪配佩沛掊辔帔淠旆锫醅霈",pen:"喷盆湓",peng:"砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯堋嘭怦蟛",pi:"砒霹批披劈琵毗啤脾疲皮匹痞僻屁譬丕陴邳郫圮鼙擗噼庀媲纰枇甓睥罴铍痦癖疋蚍貔",pian:"篇偏片骗谝骈犏胼褊翩蹁",piao:"飘漂瓢票剽嘌嫖缥殍瞟螵",pie:"撇瞥丿苤氕",pin:"拼频贫品聘拚姘嫔榀牝颦",ping:"乒坪苹萍平凭瓶评屏俜娉枰鲆",po:"坡泼颇婆破魄迫粕叵鄱溥珀钋钷皤笸",pou:"剖裒踣",pu:"扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑匍噗濮璞氆镤镨蹼",qi:"期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫亟亓圻芑萋葺嘁屺岐汔淇骐绮琪琦杞桤槭欹祺憩碛蛴蜞綦綮趿蹊鳍麒",qia:"掐恰洽葜",qian:"牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉佥阡芊芡荨掮岍悭慊骞搴褰缱椠肷愆钤虔箝",qiang:"枪呛腔羌墙蔷强抢嫱樯戗炝锖锵镪襁蜣羟跫跄",qiao:"橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍劁诮谯荞愀憔缲樵毳硗跷鞒",qie:"切茄且怯窃郄唼惬妾挈锲箧",qin:"钦侵亲秦琴勤芹擒禽寝沁芩蓁蕲揿吣嗪噙溱檎螓衾",qing:"青轻氢倾卿清擎晴氰情顷请庆倩苘圊檠磬蜻罄箐謦鲭黥",qiong:"琼穷邛茕穹筇銎",qiu:"秋丘邱球求囚酋泅俅氽巯艽犰湫逑遒楸赇鸠虬蚯蝤裘糗鳅鼽",qu:"趋区蛆曲躯屈驱渠取娶龋趣去诎劬蕖蘧岖衢阒璩觑氍祛磲癯蛐蠼麴瞿黢",quan:"圈颧权醛泉全痊拳犬券劝诠荃獾悛绻辁畎铨蜷筌鬈",que:"缺炔瘸却鹊榷确雀阙悫",qun:"裙群逡",ran:"然燃冉染苒髯",rang:"瓤壤攘嚷让禳穰",rao:"饶扰绕荛娆桡",ruo:"惹若弱",re:"热偌",ren:"壬仁人忍韧任认刃妊纫仞荏葚饪轫稔衽",reng:"扔仍",ri:"日",rong:"戎茸蓉荣融熔溶容绒冗嵘狨缛榕蝾",rou:"揉柔肉糅蹂鞣",ru:"茹蠕儒孺如辱乳汝入褥蓐薷嚅洳溽濡铷襦颥",ruan:"软阮朊",rui:"蕊瑞锐芮蕤睿蚋",run:"闰润",sa:"撒洒萨卅仨挲飒",sai:"腮鳃塞赛噻",san:"三叁伞散彡馓氵毵糁霰",sang:"桑嗓丧搡磉颡",sao:"搔骚扫嫂埽臊瘙鳋",se:"瑟色涩啬铩铯穑",sen:"森",seng:"僧",sha:"莎砂杀刹沙纱傻啥煞脎歃痧裟霎鲨",shai:"筛晒酾",shan:"珊苫杉山删煽衫闪陕擅赡膳善汕扇缮剡讪鄯埏芟潸姗骟膻钐疝蟮舢跚鳝",shang:"墒伤商赏晌上尚裳垧绱殇熵觞",shao:"梢捎稍烧芍勺韶少哨邵绍劭苕潲蛸笤筲艄",she:"奢赊蛇舌舍赦摄射慑涉社设厍佘猞畲麝",shen:"砷申呻伸身深娠绅神沈审婶甚肾慎渗诜谂吲哂渖椹矧蜃",sheng:"声生甥牲升绳省盛剩胜圣丞渑媵眚笙",shi:"师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试谥埘莳蓍弑唑饣轼耆贳炻礻铈铊螫舐筮豕鲥鲺",shou:"收手首守寿授售受瘦兽扌狩绶艏",shu:"蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱恕倏塾菽忄沭涑澍姝纾毹腧殳镯秫鹬",shua:"刷耍唰涮",shuai:"摔衰甩帅蟀",shuan:"栓拴闩",shuang:"霜双爽孀",shui:"谁水睡税",shun:"吮瞬顺舜恂",shuo:"说硕朔烁蒴搠嗍濯妁槊铄",si:"斯撕嘶思私司丝死肆寺嗣四伺似饲巳厮俟兕菥咝汜泗澌姒驷缌祀祠锶鸶耜蛳笥",song:"松耸怂颂送宋讼诵凇菘崧嵩忪悚淞竦",sou:"搜艘擞嗽叟嗖嗾馊溲飕瞍锼螋",su:"苏酥俗素速粟僳塑溯宿诉肃夙谡蔌嗉愫簌觫稣",suan:"酸蒜算",sui:"虽隋随绥髓碎岁穗遂隧祟蓑冫谇濉邃燧眭睢",sun:"孙损笋荪狲飧榫跣隼",suo:"梭唆缩琐索锁所唢嗦娑桫睃羧",ta:"塌他它她塔獭挞蹋踏闼溻遢榻沓",tai:"胎苔抬台泰酞太态汰邰薹肽炱钛跆鲐",tan:"坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭郯蕈昙钽锬覃",tang:"汤塘搪堂棠膛唐糖傥饧溏瑭铴镗耥螗螳羰醣",thang:"倘躺淌",theng:"趟烫",tao:"掏涛滔绦萄桃逃淘陶讨套挑鼗啕韬饕",te:"特",teng:"藤腾疼誊滕",ti:"梯剔踢锑提题蹄啼体替嚏惕涕剃屉荑悌逖绨缇鹈裼醍",tian:"天添填田甜恬舔腆掭忝阗殄畋钿蚺",tiao:"条迢眺跳佻祧铫窕龆鲦",tie:"贴铁帖萜餮",ting:"厅听烃汀廷停亭庭挺艇莛葶婷梃蜓霆",tong:"通桐酮瞳同铜彤童桶捅筒统痛佟僮仝茼嗵恸潼砼",tou:"偷投头透亠",tu:"凸秃突图徒途涂屠土吐兔堍荼菟钍酴",tuan:"湍团疃",tui:"推颓腿蜕褪退忒煺",tun:"吞屯臀饨暾豚窀",tuo:"拖托脱鸵陀驮驼椭妥拓唾乇佗坨庹沱柝砣箨舄跎鼍",wa:"挖哇蛙洼娃瓦袜佤娲腽",wai:"歪外",wan:"豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕剜芄苋菀纨绾琬脘畹蜿箢",wang:"汪王亡枉网往旺望忘妄罔尢惘辋魍",wei:"威巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫倭偎诿隈葳薇帏帷崴嵬猥猬闱沩洧涠逶娓玮韪軎炜煨熨痿艉鲔",wen:"瘟温蚊文闻纹吻稳紊问刎愠阌汶璺韫殁雯",weng:"嗡翁瓮蓊蕹",wo:"挝蜗涡窝我斡卧握沃莴幄渥杌肟龌",wu:"巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误兀仵阢邬圬芴庑怃忤浯寤迕妩骛牾焐鹉鹜蜈鋈鼯",xi:"昔熙析西硒矽晰嘻吸锡牺稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细僖兮隰郗茜葸蓰奚唏徙饩阋浠淅屣嬉玺樨曦觋欷熹禊禧钸皙穸蜥蟋舾羲粞翕醯鼷",xia:"瞎虾匣霞辖暇峡侠狭下厦夏吓掀葭嗄狎遐瑕硖瘕罅黠",xian:"锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线冼藓岘猃暹娴氙祆鹇痫蚬筅籼酰跹",xiang:"相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象芗葙饷庠骧缃蟓鲞飨",xiao:"萧硝霄削哮嚣销消宵淆晓小孝校肖啸笑效哓咻崤潇逍骁绡枭枵筱箫魈",xie:"楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑偕亵勰燮薤撷廨瀣邂绁缬榭榍歙躞",xin:"薪芯锌欣辛新忻心信衅囟馨莘歆铽鑫",xing:"星腥猩惺兴刑型形邢行醒幸杏性姓陉荇荥擤悻硎",xiong:"兄凶胸匈汹雄熊芎",xiu:"休修羞朽嗅锈秀袖绣莠岫馐庥鸺貅髹",xu:"墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续讴诩圩蓿怵洫溆顼栩煦砉盱胥糈醑",xuan:"轩喧宣悬旋玄选癣眩绚儇谖萱揎馔泫洵渲漩璇楦暄炫煊碹铉镟痃",xue:"靴薛学穴雪血噱泶鳕",xun:"勋熏循旬询寻驯巡殉汛训讯逊迅巽埙荀薰峋徇浔曛窨醺鲟",ya:"压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶伢揠吖岈迓娅琊桠氩砑睚痖",yan:"焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验厣靥赝俨偃兖讠谳郾鄢芫菸崦恹闫阏洇湮滟妍嫣琰晏胭腌焱罨筵酽魇餍鼹",yang:"殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾徉怏泱炀烊恙蛘鞅",yao:"邀腰妖瑶摇尧遥窑谣姚咬舀药要耀夭爻吆崾徭瀹幺珧杳曜肴鹞窈繇鳐",ye:"椰噎耶爷野冶也页掖业叶曳腋夜液谒邺揶馀晔烨铘",yi:"一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎刈劓佾诒圪圯埸懿苡薏弈奕挹弋呓咦咿噫峄嶷猗饴怿怡悒漪迤驿缢殪贻旖熠钇镒镱痍瘗癔翊衤蜴舣羿翳酏黟",yin:"茵荫因殷音阴姻吟银淫寅饮尹引隐印胤鄞堙茚喑狺夤氤铟瘾蚓霪龈",ying:"英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映嬴郢茔莺萦撄嘤膺滢潆瀛瑛璎楹鹦瘿颍罂",yo:"哟唷",yong:"拥佣臃痈庸雍踊蛹咏泳涌永恿勇用俑壅墉慵邕镛甬鳙饔",you:"幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼卣攸侑莸呦囿宥柚猷牖铕疣蝣鱿黝鼬",yu:"迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉浴寓裕预豫驭禺毓伛俣谀谕萸蓣揄喁圄圉嵛狳饫庾阈妪妤纡瑜昱觎腴欤於煜燠聿钰鹆瘐瘀窳蝓竽舁雩龉",yuan:"鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院塬沅媛瑗橼爰眢鸢螈鼋",yue:"曰约越跃钥岳粤月悦阅龠樾刖钺",yun:"耘云郧匀陨允运蕴酝晕韵孕郓芸狁恽纭殒昀氲",za:"匝砸杂拶咂",zai:"栽哉灾宰载再在咱崽甾",zan:"攒暂赞瓒昝簪糌趱錾",zang:"赃脏葬奘戕臧",zao:"遭糟凿藻枣早澡蚤躁噪造皂灶燥唣缫",ze:"责择则泽仄赜啧迮昃笮箦舴",zei:"贼",zen:"怎谮",zeng:"增憎曾赠缯甑罾锃",zha:"扎喳渣札轧铡闸眨栅榨咋乍炸诈揸吒咤哳怍砟痄蚱齄",zhai:"摘斋宅窄债寨砦",zhan:"瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽谵搌旃",zhang:"樟章彰漳张掌涨杖丈帐账仗胀瘴障仉鄣幛嶂獐嫜璋蟑",zhao:"招昭找沼赵照罩兆肇召爪诏棹钊笊",zhe:"遮折哲蛰辙者锗蔗这浙谪陬柘辄磔鹧褚蜇赭",zhen:"珍斟真甄砧臻贞针侦枕疹诊震振镇阵缜桢榛轸赈胗朕祯畛鸩",zheng:"蒸挣睁征狰争怔整拯正政帧症郑证诤峥钲铮筝",zhi:"芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒卮陟郅埴芷摭帙忮彘咫骘栉枳栀桎轵轾攴贽膣祉祗黹雉鸷痣蛭絷酯跖踬踯豸觯",zhong:"中盅忠钟衷终种肿重仲众冢锺螽舂舯踵",zhou:"舟周州洲诌粥轴肘帚咒皱宙昼骤啄着倜诹荮鬻纣胄碡籀舳酎鲷",zhu:"珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑住注祝驻伫侏邾苎茱洙渚潴驺杼槠橥炷铢疰瘃蚰竺箸翥躅麈",zhua:"抓",zhuai:"拽",zhuan:"专砖转撰赚篆抟啭颛",zhuang:"桩庄装妆撞壮状丬",zhui:"椎锥追赘坠缀萑骓缒",zhun:"谆准",zhuo:"捉拙卓桌琢茁酌灼浊倬诼廴蕞擢啜浞涿杓焯禚斫",zi:"兹咨资姿滋淄孜紫仔籽滓子自渍字谘嵫姊孳缁梓辎赀恣眦锱秭耔笫粢觜訾鲻髭",zong:"鬃棕踪宗综总纵腙粽",zou:"邹走奏揍鄹鲰",zu:"租足卒族祖诅阻组俎菹啐徂驵蹴",zuan:"钻纂攥缵",zui:"嘴醉最罪",zun:"尊遵撙樽鳟",zuo:"昨左佐柞做作坐座阝阼胙祚酢",cou:"薮楱辏腠",nang:"攮哝囔馕曩",o:"喔",dia:"嗲",chuai:"嘬膪踹",cen:"岑涔",diu:"铥",nou:"耨",fou:"缶",bia:"髟"};var G={chineseToPinYin:function(e){for(var t=e.length,r="",n=new RegExp("[a-zA-Z0-9]"),o=(new RegExp("[a-zA-Z]"),0);o<t;o++){var a=e.substr(o,1);if(n.test(a))r+=a;else{var i=this.arraySearch(a,W);n.test(a)?r+=a:!1!==i&&(r+=i)}}r=r.replace(/ /g,"-");while(r.indexOf("--")>0)r=r.replace("--","-");return r},arraySearch:function(e,t){for(var r in W)if(-1!==W[r].indexOf(e))return this.ucfirst(r);return!1},ucfirst:function(e){if(e.length>0){var t=e.substr(0,1).toUpperCase(),r=e.substr(1,e.length);return t+r}}};const Y={md5:function(e){return x()(e)},getFirstPY:function(e){let t,r="";if(e=e.toUpperCase(),e.constructor==Array){t=[];for(let r=0;r<e.length;r++)t.push(G.chineseToPinYin(e[r]))}else t=G.chineseToPinYin(e);if(t.constructor==Array){let e=[];for(let r=0;r<t.length;r++){let n=t[r],o="";for(let e=0;e<n.length;e++){let t=n.charAt(e);/^[A-Z0-9]+$/.test(t)&&(o+=t)}e.push(o.toLowerCase())}return e}for(let n=0;n<t.length;n++){let e=t.charAt(n);/^[A-Z0-9]+$/.test(e)&&(r+=e)}return r.toLowerCase()},getDownloadUrl(e,t){return window.eap.utils.biz.getDownloadUrl(e,t)},getPinyin:function(e){let t=[];if(e.constructor==Array){for(let r=0;r<e.length;r++)t.push(G.chineseToPinYin(e[r]).toLowerCase());return t}return G.chineseToPinYin(e).toLowerCase()},randomInt:function(e,t){var r=t-e,n=Math.random();return e+Math.round(n*r)},getBizUrl(e){return window.eap?window.eap.utils.biz.getUrl(e):e},getUrlValue:function(e,t){var r=t||window.location.search;if(-1!=r.indexOf("&"+e)||-1!=r.indexOf("?"+e)){var n="";n=r.indexOf("?"+e)>-1?r.indexOf("?"+e)+e.length+2:r.indexOf("&"+e)+e.length+2;var o=r.indexOf("&",n);return-1==o?r.substring(n):r.substring(n,o)}return""},setUrlValue:function(e,t,r){if(null==e||""==e)return"";var n=e.split("?");if(n.length<=1)return e+"?"+t+"="+r;for(var o=n[1].split("&"),a=!0,i=0;i<o.length;i++){var s=o[i].split("=");s[0]==t&&(o[i]=t+"="+r,a=!1)}return a&&(o[o.length]=t+"="+r),n[0]+"?"+o.join("&")},id:function(e){return function(e,t){var r,n,o="012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ".split(""),a=[];if(t=t||o.length,e)for(r=0;r<e;r++)a[r]=o[0|Math.random()*t];else for(a[8]=a[13]=a[18]=a[23]="-",a[14]="4",r=0;r<36;r++)a[r]||(n=0|16*Math.random(),a[r]=o[19==r?3&n|8:n]);return a.join("")}(e||6,61)},guid:function(){var e=new Date,t=this.randomInt(1,1e3),r=this.randomInt(1,1e3),n=this.randomInt(1,1e3),o=e.valueOf()+"-"+e.getMilliseconds()+"-"+t+"-"+r+"-"+n,a=this.md5(o),i=a.substring(0,8)+"-"+a.substring(8,12)+"-"+a.substring(12,16)+"-"+a.substring(16,20)+"-"+a.substring(20,32);return i.toUpperCase()},format:function(){if(0==arguments.length)return"";var e=Array.prototype.slice.call(arguments),t=e.shift();if(1==e.length&&"object"==typeof e[0]){var r=e[0];for(var n in r)if(void 0!=r[n]){let e=new RegExp("({"+n+"})","g");t=t.replace(e,r[n])}}else for(var o=0;o<e.length;o++)if(void 0!=e[o]){let r=new RegExp("({)"+o+"(})","g");t=t.replace(r,e[o])}return t},controlGuid(e){return(e||"").replace(/[.|#|@|*|\?|\(|\)|<|>|\{|\|\^|\$}]/gi,"_")+"_"+Y.id(8)},upperMoney(e){e=new String(Math.round(100*Math.abs(e)));var t,r,n,o="",a="零壹贰叁肆伍陆柒捌玖",i="万仟佰拾亿仟佰拾万仟佰拾元角分",s=e.length,u=0;if(s>15)return alert("超出计算范围"),"";if(0==e)return o="零元整",o;i=i.substr(i.length-s,s);for(var c=0;c<s;c++)n=parseInt(e.substr(c,1),10),c!=s-3&&c!=s-7&&c!=s-11&&c!=s-15?0==n?(t="",r="",u+=1):0!=n&&0!=u?(t="零"+a.substr(n,1),r=i.substr(c,1),u=0):(t=a.substr(n,1),r=i.substr(c,1),u=0):(0!=n&&0!=u?(t="零"+a.substr(n,1),r=i.substr(c,1),u=0):0!=n&&0==u?(t=a.substr(n,1),r=i.substr(c,1),u=0):0==n&&u>=3?(t="",r="",u+=1):(t="",r=i.substr(c,1),u+=1),c!=s-11&&c!=s-3||(r=i.substr(c,1))),o=o+t+r;return 0==n&&(o+="整"),o},splitAttach(e){for(var t=[],r=e.split("|"),n=window.HIVUI_SETTING?window.HIVUI_SETTING.review:"",o=0;o<r.length;o++){var a=r[o];a&&t.push({name:r[o].split(";")[0],size:r[o].split(";")[1],path:r[o].split(";")[2],url:`${n}?relativePath=${r[o].split(";")[2]}`})}return t}};var J=Y;let X={dbString:{format:function(e,t){return"function"==typeof t?t.call(window,e):e},formatView:function(e,t){return"function"==typeof t?t.call(window,e):e},type:"dbString",formType:{element:"el-input"}},dbInt:{format:function(e,t){if(e=parseInt(e),"eleAuditPoint"==t){let t="";switch(e){case 0:t="已审核";break;case 1:t="运行中";break;case 99:t="终止";break;case 2:t="审批中";break;default:t=isNaN(e)?"":e}return t}return"function"==typeof t?t.call(window,e):isNaN(e)?"":(e*=1,t?L.format(e,t):e)},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);let r=X.dbInt.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},defautlVal:0,type:"dbInt",queryType:{element:"HiNumberRange"},formType:{element:"hi-number",props:{precision:0,"controls-position":"right"}}},dbFloat:{format:function(e,t){return"function"==typeof t?t.call(window,e):(e=parseFloat(e),isNaN(e)?"":(e*=1,t?L.format(e,t):e))},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);var r=X.dbFloat.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},type:"dbFloat",formType:{element:"hi-number",props:{"controls-position":"right"}},queryType:{element:"HiNumberRange"},defautlVal:0},dbDouble:{format:function(e,t){return"function"==typeof t?t.call(window,e):(e=parseFloat(e),isNaN(e)?"":(e*=1,t?L.format(e,t):e))},formatView:function(e,t){if("function"==typeof t)return t.call(window,e);var r=X.dbDouble.format(e,t);return t&&t.indexOf("%")>0?e>0?'<font color="red">'+r+"</font>":'<font color="green">'+r+"</font>":r},type:"dbDouble",formType:{element:"hi-number",props:{"controls-position":"right"}},queryType:{element:"HiNumberRange"},defautlVal:0},dbText:{format:function(e,t){return"function"==typeof t?t.call(window,e):e},formatView:function(e,t){return e},type:"dbText",formType:{element:"el-input",props:{type:"textarea",rows:5}},queryType:{element:"el-input",props:{}},gridType:{element:"hi-textarea",props:{popup:!0,rows:5}}},dbBoolean:{format:function(e,t){return"function"==typeof t?t.call(window,e):""===e?"":("boolean"!=typeof e&&1*e==e&&(e=parseInt(e)),"boolean"==typeof e||"number"==typeof e?e?"是":"否":e)},formatView:function(e,t){return X.dbBoolean.format(e,t)},parse:function(e){return"yes"==e||"是"==e||"1"==e||"true"==e||"y"==e},type:"dbBoolean",queryType:{element:"el-checkbox",props:{}},formType:{element:"el-checkbox",props:{}}},dbDatetime:{format:function(e,t){return"function"==typeof t?t.call(window,e):null==e||""==e?e:(t=t||"yyyy-MM-dd hh:mm:ss","string"==typeof e&&(e=z.strToDate(e)),z.format(e,t))},formatView:function(e,t){return X.dbDatetime.format(e,t)},type:"dbDatetime",queryType:{element:"HiTimeScheme"},formType:{element:"el-date-picker",props:{type:"datetime"}}},dbTimestamp:{format:function(e,t){return"function"==typeof t?t.call(window,e):null==e||""==e?e:(t=t||"yyyy-MM-dd hh:mm:ss","string"==typeof e&&(e=z.strToDate(e)),z.format(e,t))},formatView:function(e,t){return X.dbDatetime.format(e,t)},type:"dbTimestamp",formType:{element:"el-date-picker",props:{type:"datetime"}}},dbBasic:{type:"dbBasic"},dbArray:{type:"dbArray"},dbObject:{type:"dbObject"},dbList:{type:"dbList"}};X.dbDate=X.dbDatetime;var K=X;const Q={getUrlParam(e){let t=window.location.search;t=t.substring(1,t.length);let r=t.split("&"),n={};for(let o=0;o<r.length;o++){const e=r[o];let t=e.split("=");n[t[0]]=t[1]}return e?n[e]:n},openUrl(e,t){e=window.eap.utils.biz.getUrl(e);var r=document.createElement("form");r.method="POST",document.body.appendChild(r),r.target=t,r.action=e,r.submit(),r.parentNode.removeChild(r)},mergeDefaultCfg(e,t){var r=e;for(var n in t)"object"==typeof t[n]&&(t[n]=Q.recursionCfg(r,t[n])),"crlName"==n&&void 0!=r[t["crlName"]]&&(t=Object.assign({},r[t["crlName"]],t));return t},recursionCfg(e,t){var r=e;for(var n in t)"object"==typeof t[n]&&(t[n]=Q.recursionCfg(r,t[n])),"crlName"==n&&void 0!=r[t["crlName"]]&&(t=Object.assign({},r[t["crlName"]],t));return t}};var Z=Q;let ee=z,te=L,re=J,ne=K,oe=Z;var ae={date:ee,number:te,string:re,dbType:ne,bom:oe};class ie{constructor(e){e=e||{},this.orders=null,this.className="Params",this.paramKey="queryParam",this.where=e.where||new F,this.returnTotal=e.returnTotal,this.zcQuery=e.zcQuery,this.orders=e.orders,(e.paramsData||"null"==e.paramsData)&&this.setJsonParamsData(e.paramsData),(e.whereData||"null"==e.whereData)&&this.setJsonWhereData(e.whereData)}createWhereByModel(e,t){t=t||{};let r=new F;for(let n in e){let o=t.fields?t.fields[n]:null,a=e[n];null!=a&&""!=a&&void 0!=a&&(o?r[o.operate](n,a):ae.isArray(a)?r.in(n,a):r.def(n,a))}return this.where?this.where.addConditions(r):this.where=r,r}setJsonWhereData(e){e&&(this.where=new F({criterionData:e}))}setJsonParamsData(e){if(e){var t=typeof e,r={};switch(t){case"string":r=JSON.parse(e);break;case"object":r=e;break}r.queryCdions&&(this.where=new F({criterionData:r.queryCdions})),r.orders&&(this.orders=new q({orderData:r.orders})),r.having&&(this.having=new F({criterionData:r.having.criterion})),r.groupBy&&(this.groupBy=r.groupBy)}}setGroup(e){this.groupBy=e}getGroup(){return this.groupBy}getWhere(){return this.where}setWhere(e){this.where=e}setHaving(e){this.having=e}getHaving(){return this.having}getOrders(){return this.orders}setOrders(e){this.orders=e}toJSON(){var e={};if(this.where){var t=this.where.toJSON();t&&(e.queryCdions=this.where.toJSON())}return this.groupBy&&(e.groupBy=this.groupBy),this.orders&&(e.orderBy=this.orders.toJSON()),e}decodeStr(e){return unescape(e.replace(/\\(u[0-9a-fA-F]{4})/gm,"%$1"))}toStringWithKey(){var e={};let t=JSON.stringify(this.toJSON());return e[R.body]=t,e[R.pageIndex]=this.where[R.pageIndex],e[R.pageSize]=this.where[R.pageSize],e[R.returnTotal]=this.returnTotal,e[R.zcQuery]=this.zcQuery,e}toStr(){return JSON.stringify(this.toJSON())}}var se=r("6747"),ue=r.n(se),ce=r("6220"),fe=r.n(ce);let le=(e,t,r,n)=>{let o=[],a={};if(e.length>0){let i=a[t]=e[0][t];e.forEach(e=>{i!=e[t]&&(o.push(a),a={},i=e[t],a[t]=i),a[e[r]]=e[n]}),o.push(a)}return o},de=(e,t,r,{request:n,url:o,method:a,pn:i,extParam:s,rowToCol:u})=>{let c,f={queryCdion:"{}"};if(e){let t;if("Where"==e.className)t=new ie,t.where=e;else if("Params"==e.className)t=e;else{t=new ie;let r=null,n=null,o=new F;for(let t in e){let a=e[t];"$pageSize"!=t?"$pageIndex"!=t?ue()(a)?fe()(a[0])?o.between(t,ee.format(a[0],"yyyy-MM-dd hh:mm:ss")+"到"+ee.format(a[1],"yyyy-MM-dd hh:mm:ss")):o.in(t,a):o.def(t,a):n=a:r=a}null!==r&&null!==n&&o.setPage(n,r),t.where=o}f=t.toStringWithKey()}f.modelFilePath=t,f[R.funcpath]=r,s&&Object.assign(f,s);let l=o;return r=r||"",i&&(l=-1==l.indexOf("?")?l+"?pn="+i:l+"&pn="+i),c=n({url:l,method:a||"post",data:f}),c},pe=(e,t,r,{request:n,url:o,method:a,pn:i,extParam:s})=>{let u,c,f={};if(e){let t;if("Where"==e.className)t=new ie,t.where=e;else if("Params"==e.className)t=e;else{t=new ie;let r=null,n=null,o=new F;for(let t in e){let a=e[t];"$pageSize"!=t?"$pageIndex"!=t?ue()(a)?fe()(a[0])?o.between(t,ee.format(a[0],"yyyy-MM-dd hh:mm:ss")+"到"+ee.format(a[1],"yyyy-MM-dd hh:mm:ss")):o.in(t,a):o.def(t,a):n=a:r=a}null!==r&&null!==n&&o.setPage(n,r),t.where=o}f[R.body]=t.toJSON(),f[R.pageIndex]=t.where[R.pageIndex],f[R.pageSize]=t.where[R.pageSize]}f[R.funcpath]=r,f.modelFilePath=t,e.zcQuery&&(f[R.slaveExport]=e.zcQuery),s&&(s.sheetStyle&&(f[R.sheetStyle]=s.sheetStyle,delete s.sheetStyle),Object.assign(f,s)),r=r||"",c=o,i&&(c=-1==c.indexOf("?")?c+"?pn="+i:c+"&pn="+i);let l={};return f.title&&(l.title=f.title,delete f.title),l[R.sheetDatas]=JSON.stringify([f]),u=n({url:c,method:a||"post",data:l}),u};var he={Param:ie,Where:F,types:k,Orders:q,query:de,exportData:pe,rowToCol:le},ge=r("0644"),ye=r.n(ge);const we={root:"__body",version:"__version",data:"data",funcPath:"__funcpath",modelFile:"modelFilePath",funcFile:"fpath",state:"$state",old:"$old",insertStateVal:"rsInsert",updateStateVal:"rsUpdate",removeStateVal:"rsDelete",overrideStateVal:"rsOverride"};class me{constructor(e,t,{request:r,url:n,pn:o,extParam:a,colToRow:i}){this.className="SavePackHelper",this.modelFile=e,this.request=r,this.colToRow=i,this._appendSavePack=[],t=t||"",this.url=n,this.funcPath=t,this.extParam=a,this.pn=o,this.dataPacks={},this.dataPacks[we.data]=[],this.dataPacks[we.modelFile]=this.modelFile}insertOrDeletePackageColToRow(e){let t=this.colToRow,r=[],n=t.colField,o=t.valField,a=t.rowField,i={};i[t.rowField]=e[a]||(new Date).valueOf();for(let s in e)s.startsWith("$")&&(i[s]=e[s]);for(let s in e){if(s.startsWith("$"))continue;let t=ye()(i);t[n]=s,t[o]=e[s],r.push(t)}return r}updatePackageColToRow(e){let t=this.colToRow,r=[],n=t.colField,o=t.valField,a=t.rowField,i={},s={};s[t.rowField]=e[we.old][a];for(let u in e)u.startsWith("$")&&(i[u]=e[u]);for(let u in e){if(u.startsWith("$"))continue;let t=ye()(i),a=ye()(s);t[o]=e[u],a[o]=e[we.old][u],a[n]=u,t[we.old]=a,r.push(t)}return r}conversion(e){if(e){const t={};for(const r in e){const n=e[r];void 0!==n&&(fe()(n)?t[r]=ee.format(n,"yyyy-MM-dd hh:mm:ss"):null==n||"object"!=typeof n||n[we.modelFile]?t[r]=n:t[r]=JSON.stringify(n))}return t}}add(e){var t=this;e=this.conversion(e),e[we.state]=we.insertStateVal,this.colToRow&&this.colToRow.rowField?t.dataPacks[we.data]=t.dataPacks[we.data].concat(this.insertOrDeletePackageColToRow(e)):t.dataPacks[we.data].push(e)}update(e,t){var r=this,n={};for(var o in t=this.conversion(t),e=this.conversion(e),t)void 0!==t[o]&&(n[o]=t[o]);n[we.state]=we.updateStateVal,n[we.old]=e,this.colToRow&&this.colToRow.rowField?r.dataPacks[we.data]=r.dataPacks[we.data].concat(this.updatePackageColToRow(n)):r.dataPacks[we.data].push(n)}setRedundant(e,t){}override(e,t){t||(t=e,e=null),e&&(e=this.conversion(e)),t=this.conversion(t);var r=this,n={};for(var o in t)void 0!==t[o]&&(n[o]=t[o]);n[we.state]=we.overrideStateVal,e&&(n[we.old]=e),this.colToRow&&this.colToRow.rowField?r.dataPacks[we.data]=r.dataPacks[we.data].concat(this.updatePackageColToRow(n)):r.dataPacks[we.data].push(n)}remove(e){var t=this;e[we.state]=we.removeStateVal,e=this.conversion(e),this.colToRow&&this.colToRow.rowField?t.dataPacks[we.data]=t.dataPacks[we.data].concat(this.insertOrDeletePackageColToRow(e)):t.dataPacks[we.data].push(e)}toString(){return JSON.stringify(this.dataPacks)}clear(){this.dataPacks={}}getDataPack(){return this.dataPacks}isEmpty(){return!(this.dataPacks[we.data]&&this.dataPacks[we.data].length>0)}appendSavePack(e){this._appendSavePack.push(e)}save(e,t){e=e||{};let r={};this._appendSavePack.unshift(this.getDataPack()),r[we.root]=JSON.stringify(this._appendSavePack),r[we.version]="1.0.0",r[we.funcPath]=this.funcPath,this.extParam&&Object.assign(r,this.extParam),Object.assign(r,e),t&&t.call(this,e,r,r[we.root]);let n=this.url;return this.pn&&(n=-1==n.indexOf("?")?n+"?pn="+this.pn:n+"&pn="+this.pn),this.request({url:n,method:"post",data:r})}}let be=({request:e,url:t,ftaskguid:r,flowtype:n})=>{let o,a=t||I.getApprovalInfo;return r&&(a=-1==a.indexOf("?")?a+"?ftaskguid="+r:a+"&ftaskguid="+r),n&&(a=-1==a.indexOf("?")?a+"?flowtype="+n:a+"&flowtype="+n),o=e({url:a,method:"post"}),o},ve=({request:e,url:t,data:r,param:n})=>{let o,a=t||I.processFlow,i={__body:JSON.stringify(r)};return n&&Object.assign(i,n),o=e({url:a,data:i,method:"post"}),o},_e=({request:e,url:t,param:r})=>{let n,o=t||I.queryTask;return n=e({url:o,data:r,method:"post"}),n},xe=({request:e,url:t,data:r})=>{let n;return n=e({url:t||I.getFlowInfo,data:r,method:"post"}),n},Te=({request:e,fordernumber:t,url:r})=>{let n,o=r||I.openOrdernumber,a=`${o}?fordernumber=${t}`;return n=e({url:a,method:"get"}),n},Se=({request:e,url:t,ftaskguid:r})=>{let n,o=t||I.withdrawtask,a=`${o}?ftaskguid=${r}`;return n=e({url:a,method:"get"}),n},Ie=({request:e,url:t,fordernumber:r})=>{let n,o=t||I.umpireOrder,a=`${o}?fordernumber=${r}`;return n=e({url:a,method:"get"}),n},Ee=({request:e,url:t,forderguid:r,fmodelpath:n,fversion:o})=>{let a,i=t||I.taskDiagram,s=`${i}?fmodelpath=${n}&fversion=${o}`;return r&&(s=s+"&forderguid="+r),a=e({url:s,method:"get"}),a};var je={getApprovalInfo:be,processFlow:ve,queryTask:_e,getFlowInfo:xe,withdrawtask:Se,taskDiagram:Ee,openOrdernumber:Te,umpireOrder:Ie};let De=({request:e,url:t,data:r})=>{let n;return n=e({url:t,data:r,method:"post"}),n};var Oe={getFuncInfo:De},Ae={queryHelper:he,saveHelper:me,flowHelper:je,funcHelper:Oe},Ne=Ae,Me={userId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},userName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},deptId:function(){return window.eap.userInfo?window.eap.userInfo.forgid:""},deptName:function(){return window.eap.userInfo?window.eap.userInfo.forgname:""},roleId:function(){return window.eap.userInfo?window.eap.userInfo.froleid:""},roleName:function(){return window.eap.userInfo?window.eap.userInfo.frolename:""},bzId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},bzDeptId:function(){return window.eap.userInfo?window.eap.userInfo.fdeptid:""},bzDeptName:function(){return window.eap.userInfo?window.eap.userInfo.fdeptname:""},bzRoleId:function(){return window.eap.userInfo?window.eap.userInfo.froleid:""},bzRoleName:function(){return window.eap.userInfo?window.eap.userInfo.frolename:""},proxyId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},proxyName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},bzProxyId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzProxyName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},superId:function(){return window.eap.userInfo?window.eap.userInfo.fuserid:""},superName:function(){return window.eap.userInfo?window.eap.userInfo.fusername:""},bzSuperId:function(){return window.eap.userInfo?window.eap.userInfo.fbzid:""},bzSuperName:function(){return window.eap.userInfo?window.eap.userInfo.fbzname:""},orgPath:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgpath:""},orgName:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgname:""},orgId:function(){return window.eap.userInfo?window.eap.userInfo.fuserorgid:""},getBzByRole:function(e){return[]},getBzByDept:function(e){return""},getBzByRole:function(){return getBzByRole(roleId())},getBzByDept:function(){return getBzByDept(deptId())}};const ke="/platf/useroperate/entity/SysUseroperate.xml";var Re={createNumber(){return"NEW-YYMMDD-9999"},getDownloadUrl(e,t){var r=e.substr(e.lastIndexOf(".")+1),n="";return n=t?`${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${e}&access_token=${window.eap.user.auth.getToken()}&name=${t}.${r}`:`${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${e}&access_token=${window.eap.user.auth.getToken()}`,n},delUserData(e,t){let r=new Ne.saveHelper(ke,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.saveUrl,pn:window.HIVUI_SETTING.projectName});return r.remove({FKEY:e,FUSERID:Me.userId(),FTYPE:t}),r.save()},async getUserData(e,t){var r=new Ne.queryHelper.Where({junction:"and"});r.addCondition("FKEY",e,"dbString"),r.addCondition("FTYPE",t,"dbString"),r.addCondition("FUSERID",Me.userId(),"dbString");var n=new Ne.queryHelper.Param({where:r});let o=await Ne.queryHelper.query(n,ke,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.queryUrl,pn:window.HIVUI_SETTING.projectName});return o.dataPack.rows.length>0?o.dataPack.rows[0].FVALUE:null},saveUserData(e,t,r,n){let o=new Ne.saveHelper(ke,null,{request:window.HIVUI_SETTING.request,url:window.HIVUI_SETTING.saveUrl,pn:window.HIVUI_SETTING.projectName});return o.override({FKEY:e,FUSERID:Me.userId(),FTYPE:r},{FKEY:e,FUSERID:Me.userId(),FTYPE:r,FVALUE:"string"==typeof t?t:JSON.stringify(t),FNAME:n||""}),o.save()},getUrl(e){let t=window.HIVUI_SETTING.project||window.HIVUI_SETTING.projectName;if(-1!=t.indexOf("/")&&(t=t.split("/")[0]),-1!=e.indexOf(".pro")){let t=e.substring(e.lastIndexOf("."));e=e.replace(/\.\w+/g,"")+t}let r=e.split("/");""!=r[0]?r[0]=t:r[1]=t,e=r.join("/");let n="";return e.startsWith("/")?n+=e:n=n+"/"+e,window.HIVUI_SETTING.projectName&&(n=-1!=e.indexOf("?")?n+"&pn="+window.HIVUI_SETTING.projectName:n+"?pn="+window.HIVUI_SETTING.projectName),n}},Ce={biz:Re,FormFunc:Re,DateFunc:ae.date,NumberFunc:ae.number,StringFunc:ae.string,BomFunc:ae.bom},He={closepage(){top.window.SysPage&&top.window.SysPage.closePage?top.window.SysPage.closePage():window.close()},newPage(e,t,r,n,o){t&&0!=t.indexOf("http")&&(t=location.origin+(top.window.deployDir?"/"+top.window.deployDir:"")+(top.window.pName?"/"+top.window.pName:"")+t),top.window.SysPage&&top.window.SysPage.newPage?top.window.SysPage.newPage(e,t,r,n,o):window.open(t,"_blank")}};let Ue=(e,t,r,n={})=>{let o=window.HIVUI_SETTING;return!n.request&&o&&(n.request=o.request),!n.pn&&o&&(n.pn=o.projectName),!n.url&&o&&(n.url=o.queryUrl),Ne.queryHelper.query(e,t,r,n)},Pe=(e,t,r,n={})=>{let o=window.HIVUI_SETTING;return!n.request&&o&&(n.request=o.request),!n.pn&&o&&(n.pn=o.projectName),!n.url&&o&&(n.url=o.exportUrl),Ne.queryHelper.exportData(e,t,r,n)};class Fe extends Ne.saveHelper{constructor(e,t,r={}){let n=window.HIVUI_SETTING;!r.request&&n&&(r.request=n.request),!r.pn&&n&&(r.pn=n.projectName),!r.url&&n&&(r.url=n.saveUrl),super(e,t,r)}}var qe={query:Ue,exportData:Pe,Param:Ne.queryHelper.Param,Where:Ne.queryHelper.Where,types:Ne.queryHelper.types,Orders:Ne.queryHelper.Orders,SaveHelper:Fe},Be={user:M,request:b,utils:Ce,page:He,dataHelper:qe};console.log(Object({NODE_ENV:"production",VUE_APP_BASE_API:"http://192.168.4.106:7777",BASE_URL:"/"}).NODE_VER);t["default"]=Be},fba5:function(e,t,r){var n=r("cb5a");function o(e){return n(this.__data__,e)>-1}e.exports=o},ffd6:function(e,t,r){var n=r("3729"),o=r("1310"),a="[object Symbol]";function i(e){return"symbol"==typeof e||o(e)&&n(e)==a}e.exports=i}})})); //# sourceMappingURL=eap.umd.min.js.map
Ignore Space
Show notes
View
assets_platform/eap/eap.umd.min.js.map
{"version":3,"sources":["webpack://eap/webpack/universalModuleDefinition","webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__5f72__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","objectProto","nativeObjectToString","toString","symToStringTag","undefined","getRawTag","isOwn","tag","unmasked","e","result","isPrototype","nativeKeys","baseKeys","push","baseClone","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","stubFalse","arrayPush","array","values","index","length","offset","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","defaults","interceptors","request","response","config","arguments","url","method","toLowerCase","chain","promise","Promise","resolve","forEach","interceptor","unshift","fulfilled","rejected","then","shift","getUri","params","paramsSerializer","replace","data","baseIsNative","getValue","getNative","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","isBuffer","callback","arr","apply","copyObject","keysIn","baseAssignIn","source","getSymbolsIn","copySymbolsIn","isKeyable","type","isObjectLike","coreJsData","maskSrcKey","uid","exec","keys","IE_PROTO","isMasked","func","memoizeCapped","rePropName","reEscapeChar","stringToPath","string","charCodeAt","match","number","quote","subString","getTag","mapTag","baseIsMap","isObject","baseGetAllKeys","getAllKeysIn","fn","thisArg","args","Array","hashDelete","has","__data__","size","getMapData","mapCacheSet","set","memoize","MAX_MEMOIZE_SIZE","cache","clear","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","JSON","stringify","transformResponse","parse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","Uint8Array","mapCacheGet","nativeCreate","HASH_UNDEFINED","hashSet","baseGetTag","argsTag","baseIsArguments","listCacheClear","objectToString","freeGlobal","freeSelf","Function","arrayFilter","predicate","resIndex","enhanceError","message","code","error","Error","overArg","getPrototype","getPrototypeOf","__CANCEL__","stackDelete","encode","val","encodeURIComponent","serializedParams","parts","isArray","v","isDate","toISOString","join","hashmarkIndex","indexOf","slice","isFunction","isLength","isArrayLike","baseAssignValue","eq","assignValue","objValue","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","toSource","reRegExpChar","reIsHostCtor","funcProto","funcToString","reIsNative","RegExp","pattern","test","nullTag","undefinedTag","Stack","arrayEach","baseAssign","cloneBuffer","copyArray","copySymbols","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isMap","isSet","CLONE_FLAT_FLAG","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","numberTag","objectTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","bitmask","customizer","stack","isDeep","isFlat","isFull","isArr","isFunc","stacked","subValue","add","keysFunc","props","baseHas","hasPath","path","isAxiosError","toJSON","description","fileName","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","navigator","userAgent","urlParsingNode","document","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","isString","WeakMap","__webpack_amd_options__","nativeKeysIn","baseKeysIn","isProto","map","DataView","Map","Set","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","constructor","ctorString","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","createError","reject","hashClear","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","filter","baseTimes","iteratee","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","stackHas","global","cloneArrayBuffer","cloneDataView","dataView","byteOffset","byteLength","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","entry","baseIsDate","baseUnary","nodeUtil","nodeIsDate","webpackPolyfill","deprecate","paths","children","assocIndexOf","arrayProto","splice","lastIndex","pop","reFlags","cloneRegExp","regexp","isArguments","isIndex","isTypedArray","arrayLikeKeys","inherited","isArg","isBuff","isType","skipIndexes","String","baseIsTypedArray","nodeIsTypedArray","typedArrayTags","objectCreate","baseCreate","proto","baseToString","arrayMap","hashHas","Cancel","write","expires","domain","secure","cookie","isNumber","Date","toGMTString","read","decodeURIComponent","remove","now","mapCacheClear","mapCacheDelete","mapCacheHas","MapCache","Hash","symbolsFunc","stackClear","stackGet","stackSet","ERROR","WINDOW","JS_MD5_NO_WINDOW","WEB_WORKER","NODE_JS","JS_MD5_NO_NODE_JS","versions","node","COMMON_JS","JS_MD5_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","HEX_CHARS","split","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","blocks","buffer8","Uint32Array","obj","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","createOutputMethod","outputType","Md5","update","createMethod","nodeWrap","crypto","eval","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","start","bytes","hBytes","finalized","hashed","first","notString","lastByteIndex","finalize","a","b","bc","da","hex","arrayBuffer","base64","v1","v2","v3","base64Str","md5","isAbsoluteURL","combineURLs","baseURL","requestedURL","getCurrentScript","descriptor","getOwnPropertyDescriptor","currentScript","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","scriptLocation","line","currentLocation","scripts","getElementsByTagName","documentElement","outerHTML","trim","readyState","src","innerHTML","CancelToken","executor","TypeError","resolvePromise","token","cancel","isNew","newValue","transform","arg","asyncTag","proxyTag","other","freeProcess","types","symbolProto","symbolValueOf","valueOf","cloneSymbol","registeredInModuleLoader","OldCookies","Cookies","api","noConflict","extend","attributes","decode","init","converter","toUTCString","escape","stringifiedAttributes","attributeName","json","jar","cookies","getJSON","withConverter","MAX_SAFE_INTEGER","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","fullPath","open","toUpperCase","onreadystatechange","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","abort","send","hashGet","reIsUint","cloneTypedArray","ignoreDuplicateOf","substr","baseIsSet","fns","FormData","pipe","URLSearchParams","str","product","stripBOM","content","input","normalizedName","g","typedArray","nodeIsMap","isSymbol","INFINITY","symbolToString","createInstance","defaultConfig","context","instance","axios","all","promises","spread","default","LARGE_ARRAY_SIZE","pairs","nodeIsSet","normalizeArray","allowAboveRoot","up","last","basename","end","matchedSlash","xs","f","res","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSlash","relative","from","to","fromParts","toParts","Math","min","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","len","castPath","toKey","hasFunc","isKey","FUNC_ERROR_TEXT","resolver","memoized","Cache","allocUnsafe","copy","relativeURL","reIsDeepProp","reIsPlainProp","handlers","use","eject","id","h","TokenKey","getToken","NODE_ENV","setToken","removeToken","service","hasMessageFunc","post","HIVUI_SETTING","requestTimeout","projectName","pn","iSSign","timeStamp","getTime","isDownload","fileReader","FileReader","readAsText","onload","__data","msg","__isIntercept","options","duration","alert","confirmButtonText","loginUrl","isSingleLogin","singleLoginUrl","endsWith","item","currPageUrl","origin","mainPageUrl","dataPack","detailMsg","popupbox","console","log","ajax","success","async","fail","xhr","server","oauth","editorImgServer","serverUrl","userInfo","saveUrl","queryUrl","exportUrl","policyUrl","download","review","getFlowInfo","getApprovalInfo","processFlow","umpireOrder","queryTask","withdrawtask","taskDiagram","openOrdernumber","login","userName","pwd","_promise","logout","getInfo","modifyPw","oldPwd","newPwd","hiSetting","className","enabled","sign","dataType","tablefilter","setValue","operator","Where","items","junction","criterionData","setWhereData","paramsDataType","objParamsData","setCriterionData","recursiveSetCriteria","where","me","subLen","subItem","whereItem","addWhere","fieldName","tempVal","filterValue","addCondition","valueExpress","isCover","$HI","queryOperate","value1","operateArray","condition","addEqual","_addEqual","_addNotEqual","_addGreaterThan","_addGreaterThanAndEqual","_addLessThan","_addLessThanAndEqual","vtype","_addLike","_addLeftLike","_addRightLike","whereData","recursiveWhereData","subWhereData","itemCondition","getData","_recursionWhere","pageIndexKey","pageIndex","pageSizeKey","pageSize","equal","Orders","orderData","desc","addOrder","orderItem","getOrderItemModel","DATE","timeSchemeKey","format","date","strToDate","getMonth","getDate","getHours","getMinutes","getSeconds","floor","getMilliseconds","k","$1","getFullYear","serverTimeNow","eap","getNowTimeUrl","milliSecondsBetween","dt1","dt2","abs","secondsBetween","minutesBetween","hoursBetween","daysBetween","monthsBetween","yearsBetween","getWeekCn","dt","dayNames","getDay","getWeek","isDateTime","dateString","r1","r2","d1","num","dateof","week","parseInt","ceil","strFormatDate","strDate","strFormat","dataStr","dateOf","getQuarterStartDate","QuarterStartDate","getQuarterEndDate","getYearStartDate","yearFirstDay","getYearEndDate","yearLastDay","getMonthDays","myMonth","myYear","setDate","getWeekStartDate","weekStartDate","getWeekEndDate","weekEndDate","getMonthStartDate","dateVal","monthStartDate","getMonthEndDate","year","month","tempDate","currentNow","TimeScheme","startTime","endTime","dateAdd","datepart","dtDate","tempdate","diff","setYear","setMonth","sYear","sMonth","sDay","eYear","eMonth","eDay","eDate","setHours","setMinutes","setSeconds","NUM","accDiv","arg1","arg2","t1","t2","Number","pow","accMul","s1","s2","accAdd","max","multiple","carry","dot","fraction","digit","unit","head","j","formatString","isFinite","parseFloat","isNaN","NaN","hasComma","psplit","fnum","cnum","parr","formatCleanRe","comma","dec","neg","precision","round","toFixed","chineseToPinYin","l1","l2","I1","reg","arraySearch","ucfirst","spare","STR","getFirstPY","pinyin","SX","tempPY","tempSX","biz","getDownloadUrl","getPinyin","randomInt","Range","Rand","random","getUrl","getUrlValue","pos_start","pos_end","substring","setUrlValue","pName","pValue","arrUrl","paramArr","isAdd","valueArr","radix","chars","uuid","guid","nowDateTime","myRandom1","myRandom2","myRandom3","decodeStr","encodeStr","argArray","numberValue","Ch1","Ch2","String3","chineseValue","String1","String2","nZero","list","_this","dbString","formatView","formType","element","dbInt","defautlVal","queryType","dbFloat","dbDouble","dbText","rows","gridType","popup","dbBoolean","dbDatetime","dbTimestamp","dbBasic","dbArray","dbObject","dbList","dbDate","bom","_val","formredwin","body","appendChild","action","submit","parentNode","removeChild","defaultCmp","controlCfg","tempdefaultCmp","recursionCfg","assign","recuCfg","orders","paramKey","returnTotal","zcQuery","paramsData","setJsonParamsData","setJsonWhereData","model","field","bizFiled","fields","operate","in","def","addConditions","queryCdions","having","criterion","groupBy","groupFields","mycriterion","orderBy","rowField","colField","valField","row","rowSign","query","param","modelFile","funcPath","extParam","rowToCol","paramInstance","between","setPage","toStringWithKey","modelFilePath","funcpath","dataUrl","exportData","slaveExport","sheetStyle","psotData","sheetDatas","Param","version","funcFile","state","old","insertStateVal","updateStateVal","removeStateVal","overrideStateVal","normalStateVal","colToRow","_appendSavePack","dataPacks","dynamic","_row","colName","startsWith","_$old","$old","conversion","insertOrDeletePackageColToRow","updatePackageColToRow","savePack","beforeSubmitCallBack","getDataPack","ftaskguid","flowtype","__body","fordernumber","openurl","forderguid","fmodelpath","fversion","getFuncInfo","queryHelper","saveHelper","flowHelper","funcHelper","dataHelper","userId","fuserid","fusername","deptId","fdeptid","deptName","fdeptname","roleId","froleid","roleName","frolename","bzId","fbzid","bzName","fbzname","bzDeptId","bzDeptName","bzRoleId","bzRoleName","proxyId","proxyName","bzProxyId","bzProxyName","superId","superName","bzSuperId","bzSuperName","orgPath","fuserorgpath","orgName","fuserorgname","orgId","fuserorgid","getBzByRole","getBzByDept","modelPath","fileExtension","lastIndexOf","file_path","user","FKEY","FUSERID","FTYPE","save","FVALUE","override","FNAME","project","extName","newUrl","deployDir","FormFunc","DateFunc","NumberFunc","StringFunc","BomFunc","top","SysPage","closePage","close","newPage","setting","super","SaveHelper","page","NODE_VER"],"mappings":"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","file":"eap.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"ELEMENT\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"ELEMENT\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"eap\"] = factory(require(\"ELEMENT\"));\n\telse\n\t\troot[\"eap\"] = factory(root[\"ELEMENT\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5f72__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,length) {\r\n\t\tvar carry = 0; //存放进位标志\r\n var num,multiple; //num为原浮点数放大multiple倍后的数,multiple为10的length次方\r\n var str = number + ''; //将调用该方法的数字转为字符串\r\n var dot = str.indexOf(\".\"); //找到小数点的位置\r\n if(str.substr(dot+length+1,1)>=5) carry=1; //找到要进行舍入的数的位置,手动判断是否大于等于5,满足条件进位标志置为1\r\n multiple = Math.pow(10,length); //设置浮点数要扩大的倍数\r\n num = Math.floor(number * multiple) + carry; //去掉舍入位后的所有数,然后加上我们的手动进位数\r\n var result = num/multiple + ''; //将进位后的整数再缩小为原浮点数\r\n /*\r\n * 处理进位后无小数\r\n */\r\n dot = result.indexOf(\".\");\r\n if(dot < 0){\r\n result += '.';\r\n dot = result.indexOf(\".\");\r\n }\r\n /*\r\n * 处理多次进位\r\n */\r\n var len = result.length - (dot+1);\r\n if(len < length){\r\n for(var i = 0; i < length - len; i++){\r\n result += 0;\r\n }\r\n }\r\n return result;\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride',\r\n normalStateVal:\"rsNormal\"\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 常规数据 normal\r\n * @description 新增数据包\r\n * @url normal(data)\r\n * @method $instance.normal(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 190\r\n */\r\n normal(data){\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.normalStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n newUrl = window.HIVUI_SETTING.serverUrl+deployDir+newUrl;\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
{"version":3,"sources":["webpack://eap/webpack/universalModuleDefinition","webpack://eap/webpack/bootstrap","webpack://eap/./node_modules/lodash/_getRawTag.js","webpack://eap/./node_modules/lodash/_baseKeys.js","webpack://eap/./node_modules/lodash/cloneDeep.js","webpack://eap/./node_modules/lodash/stubFalse.js","webpack://eap/./node_modules/lodash/_arrayPush.js","webpack://eap/./node_modules/axios/lib/core/Axios.js","webpack://eap/./node_modules/lodash/_getNative.js","webpack://eap/./node_modules/lodash/isBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/spread.js","webpack://eap/./node_modules/lodash/_baseAssignIn.js","webpack://eap/./node_modules/lodash/_copySymbolsIn.js","webpack://eap/./node_modules/lodash/_isKeyable.js","webpack://eap/./node_modules/lodash/isObjectLike.js","webpack://eap/./node_modules/lodash/_isMasked.js","webpack://eap/./node_modules/lodash/_stringToPath.js","webpack://eap/./node_modules/lodash/_baseIsMap.js","webpack://eap/./node_modules/lodash/isObject.js","webpack://eap/./node_modules/lodash/_getAllKeysIn.js","webpack://eap/./node_modules/lodash/_Promise.js","webpack://eap/./node_modules/axios/lib/helpers/bind.js","webpack://eap/./node_modules/lodash/_hashDelete.js","webpack://eap/./node_modules/lodash/_mapCacheSet.js","webpack://eap/./node_modules/lodash/_memoizeCapped.js","webpack://eap/./node_modules/axios/lib/defaults.js","webpack://eap/./node_modules/lodash/_Uint8Array.js","webpack://eap/./node_modules/lodash/_mapCacheGet.js","webpack://eap/./node_modules/lodash/_hashSet.js","webpack://eap/./node_modules/lodash/_baseIsArguments.js","webpack://eap/./node_modules/lodash/_listCacheClear.js","webpack://eap/./node_modules/lodash/_objectToString.js","webpack://eap/./node_modules/lodash/_root.js","webpack://eap/./node_modules/lodash/_arrayFilter.js","webpack://eap/./node_modules/axios/lib/core/createError.js","webpack://eap/./node_modules/lodash/_getPrototype.js","webpack://eap/./node_modules/axios/lib/cancel/isCancel.js","webpack://eap/./node_modules/lodash/_stackDelete.js","webpack://eap/./node_modules/axios/lib/helpers/buildURL.js","webpack://eap/./node_modules/lodash/isArrayLike.js","webpack://eap/./node_modules/lodash/_assignValue.js","webpack://eap/./node_modules/lodash/_getSymbols.js","webpack://eap/./node_modules/lodash/_baseIsNative.js","webpack://eap/./node_modules/lodash/_getValue.js","webpack://eap/./node_modules/lodash/_baseGetTag.js","webpack://eap/./node_modules/lodash/_baseClone.js","webpack://eap/./node_modules/lodash/has.js","webpack://eap/./node_modules/axios/lib/core/enhanceError.js","webpack://eap/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://eap/./node_modules/lodash/_WeakMap.js","webpack://eap/./node_modules/lodash/_defineProperty.js","webpack://eap/(webpack)/buildin/amd-options.js","webpack://eap/./node_modules/lodash/_baseKeysIn.js","webpack://eap/./node_modules/lodash/_getMapData.js","webpack://eap/./node_modules/lodash/_getTag.js","webpack://eap/./node_modules/lodash/_copyArray.js","webpack://eap/./node_modules/node-libs-browser/mock/process.js","webpack://eap/./node_modules/axios/lib/core/settle.js","webpack://eap/./node_modules/lodash/_hashClear.js","webpack://eap/./node_modules/axios/lib/core/mergeConfig.js","webpack://eap/./node_modules/lodash/_baseTimes.js","webpack://eap/./node_modules/axios/lib/core/dispatchRequest.js","webpack://eap/./node_modules/lodash/_copySymbols.js","webpack://eap/./node_modules/lodash/_stackHas.js","webpack://eap/./node_modules/lodash/_nativeKeys.js","webpack://eap/./node_modules/lodash/_freeGlobal.js","webpack://eap/./node_modules/lodash/_baseAssign.js","webpack://eap/./node_modules/lodash/_cloneDataView.js","webpack://eap/./node_modules/lodash/_ListCache.js","webpack://eap/external \"ELEMENT\"","webpack://eap/./node_modules/lodash/_nativeCreate.js","webpack://eap/./node_modules/lodash/isDate.js","webpack://eap/(webpack)/buildin/module.js","webpack://eap/./node_modules/lodash/isArray.js","webpack://eap/./node_modules/lodash/_listCacheSet.js","webpack://eap/./node_modules/lodash/_listCacheDelete.js","webpack://eap/./node_modules/lodash/_cloneRegExp.js","webpack://eap/./node_modules/lodash/_arrayLikeKeys.js","webpack://eap/./node_modules/lodash/isTypedArray.js","webpack://eap/./node_modules/lodash/_baseIsTypedArray.js","webpack://eap/./node_modules/lodash/_baseCreate.js","webpack://eap/./node_modules/lodash/toString.js","webpack://eap/./node_modules/lodash/_arrayMap.js","webpack://eap/./node_modules/lodash/_Map.js","webpack://eap/./node_modules/lodash/_hashHas.js","webpack://eap/./node_modules/axios/lib/cancel/Cancel.js","webpack://eap/./node_modules/axios/lib/helpers/cookies.js","webpack://eap/./node_modules/lodash/_MapCache.js","webpack://eap/./node_modules/lodash/_mapCacheClear.js","webpack://eap/./node_modules/lodash/_baseGetAllKeys.js","webpack://eap/./node_modules/lodash/_Stack.js","webpack://eap/./node_modules/lodash/_stackGet.js","webpack://eap/./node_modules/lodash/_arrayEach.js","webpack://eap/./node_modules/js-md5/src/md5.js","webpack://eap/./node_modules/axios/lib/core/buildFullPath.js","webpack://eap/./node_modules/lodash/_baseAssignValue.js","webpack://eap/./node_modules/@soda/get-current-script/index.js","webpack://eap/./node_modules/axios/lib/cancel/CancelToken.js","webpack://eap/./node_modules/lodash/_copyObject.js","webpack://eap/./node_modules/lodash/_overArg.js","webpack://eap/./node_modules/lodash/_mapCacheDelete.js","webpack://eap/./node_modules/lodash/isFunction.js","webpack://eap/./node_modules/lodash/eq.js","webpack://eap/./node_modules/lodash/_baseHas.js","webpack://eap/./node_modules/lodash/keysIn.js","webpack://eap/./node_modules/lodash/_nodeUtil.js","webpack://eap/./node_modules/lodash/_Symbol.js","webpack://eap/./node_modules/lodash/_getSymbolsIn.js","webpack://eap/./node_modules/lodash/_cloneSymbol.js","webpack://eap/./node_modules/lodash/_mapCacheHas.js","webpack://eap/./node_modules/js-cookie/src/js.cookie.js","webpack://eap/./node_modules/lodash/_getAllKeys.js","webpack://eap/./node_modules/lodash/_baseUnary.js","webpack://eap/./node_modules/lodash/_baseIsDate.js","webpack://eap/./node_modules/lodash/isLength.js","webpack://eap/./node_modules/lodash/_listCacheGet.js","webpack://eap/./node_modules/axios/lib/adapters/xhr.js","webpack://eap/./node_modules/lodash/_DataView.js","webpack://eap/./node_modules/lodash/_hashGet.js","webpack://eap/./node_modules/axios/index.js","webpack://eap/./node_modules/lodash/_isIndex.js","webpack://eap/./node_modules/lodash/_initCloneByTag.js","webpack://eap/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://eap/./node_modules/lodash/_baseIsSet.js","webpack://eap/./node_modules/axios/lib/core/transformData.js","webpack://eap/./node_modules/axios/lib/utils.js","webpack://eap/./node_modules/lodash/_Set.js","webpack://eap/./node_modules/lodash/_initCloneArray.js","webpack://eap/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://eap/(webpack)/buildin/global.js","webpack://eap/./node_modules/lodash/_cloneTypedArray.js","webpack://eap/./node_modules/lodash/_assocIndexOf.js","webpack://eap/./node_modules/lodash/isMap.js","webpack://eap/./node_modules/lodash/_baseToString.js","webpack://eap/./node_modules/axios/lib/axios.js","webpack://eap/./node_modules/lodash/_stackSet.js","webpack://eap/./node_modules/lodash/stubArray.js","webpack://eap/./node_modules/lodash/isArguments.js","webpack://eap/./node_modules/lodash/isSet.js","webpack://eap/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://eap/./node_modules/lodash/_coreJsData.js","webpack://eap/./node_modules/lodash/_toSource.js","webpack://eap/./node_modules/path-browserify/index.js","webpack://eap/./node_modules/lodash/_Hash.js","webpack://eap/./node_modules/lodash/_hasPath.js","webpack://eap/./node_modules/lodash/_castPath.js","webpack://eap/./node_modules/lodash/memoize.js","webpack://eap/./node_modules/lodash/_cloneBuffer.js","webpack://eap/./node_modules/axios/lib/helpers/combineURLs.js","webpack://eap/./node_modules/lodash/_isPrototype.js","webpack://eap/./node_modules/lodash/keys.js","webpack://eap/./node_modules/lodash/_nativeKeysIn.js","webpack://eap/./node_modules/lodash/_stackClear.js","webpack://eap/./node_modules/lodash/_toKey.js","webpack://eap/./node_modules/lodash/_isKey.js","webpack://eap/./node_modules/axios/lib/core/InterceptorManager.js","webpack://eap/./node_modules/lodash/_cloneArrayBuffer.js","webpack://eap/./node_modules/lodash/_initCloneObject.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://eap/./src/utils/token.js","webpack://eap/./src/eap/user/auth.js","webpack://eap/./src/eap/request.js","webpack://eap/./src/hiSetting.js","webpack://eap/./src/eap/user/service.js","webpack://eap/./src/eap/user/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/types.js","webpack://eap/./src/base/dataHelper/src/queryHelper/keys.js","webpack://eap/./src/base/dataHelper/src/queryHelper/where.js","webpack://eap/./src/base/dataHelper/src/queryHelper/orders.js","webpack://eap/./src/base/utils/src/date.js","webpack://eap/./src/base/utils/src/number.js","webpack://eap/./src/base/utils/src/pyconst.js","webpack://eap/./src/base/utils/src/vue-py.js","webpack://eap/./src/base/utils/src/string.js","webpack://eap/./src/base/utils/src/dbType.js","webpack://eap/./src/base/utils/src/bom.js","webpack://eap/./src/base/utils/index.js","webpack://eap/./src/base/dataHelper/src/queryHelper/param.js","webpack://eap/./src/base/dataHelper/src/queryHelper/index.js","webpack://eap/./src/base/dataHelper/src/saveHelper/index.js","webpack://eap/./src/base/dataHelper/src/flowHelper/index.js","webpack://eap/./src/base/dataHelper/src/funcHelper/index.js","webpack://eap/./src/base/dataHelper/src/index.js","webpack://eap/./src/base/dataHelper/index.js","webpack://eap/./src/eap/user/org.js","webpack://eap/./src/eap/utils/biz.js","webpack://eap/./src/eap/utils/index.js","webpack://eap/./src/eap/page/index.js","webpack://eap/./src/eap/dataHelper/index.js","webpack://eap/./src/eap/index.js","webpack://eap/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://eap/./node_modules/lodash/_listCacheHas.js","webpack://eap/./node_modules/lodash/isSymbol.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__5f72__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","objectProto","nativeObjectToString","toString","symToStringTag","undefined","getRawTag","isOwn","tag","unmasked","e","result","isPrototype","nativeKeys","baseKeys","push","baseClone","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","stubFalse","arrayPush","array","values","index","length","offset","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","defaults","interceptors","request","response","config","arguments","url","method","toLowerCase","chain","promise","Promise","resolve","forEach","interceptor","unshift","fulfilled","rejected","then","shift","getUri","params","paramsSerializer","replace","data","baseIsNative","getValue","getNative","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","isBuffer","callback","arr","apply","copyObject","keysIn","baseAssignIn","source","getSymbolsIn","copySymbolsIn","isKeyable","type","isObjectLike","coreJsData","maskSrcKey","uid","exec","keys","IE_PROTO","isMasked","func","memoizeCapped","rePropName","reEscapeChar","stringToPath","string","charCodeAt","match","number","quote","subString","getTag","mapTag","baseIsMap","isObject","baseGetAllKeys","getAllKeysIn","fn","thisArg","args","Array","hashDelete","has","__data__","size","getMapData","mapCacheSet","set","memoize","MAX_MEMOIZE_SIZE","cache","clear","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","JSON","stringify","transformResponse","parse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","Uint8Array","mapCacheGet","nativeCreate","HASH_UNDEFINED","hashSet","baseGetTag","argsTag","baseIsArguments","listCacheClear","objectToString","freeGlobal","freeSelf","Function","arrayFilter","predicate","resIndex","enhanceError","message","code","error","Error","overArg","getPrototype","getPrototypeOf","__CANCEL__","stackDelete","encode","val","encodeURIComponent","serializedParams","parts","isArray","v","isDate","toISOString","join","hashmarkIndex","indexOf","slice","isFunction","isLength","isArrayLike","baseAssignValue","eq","assignValue","objValue","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","toSource","reRegExpChar","reIsHostCtor","funcProto","funcToString","reIsNative","RegExp","pattern","test","nullTag","undefinedTag","Stack","arrayEach","baseAssign","cloneBuffer","copyArray","copySymbols","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isMap","isSet","CLONE_FLAT_FLAG","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","numberTag","objectTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","bitmask","customizer","stack","isDeep","isFlat","isFull","isArr","isFunc","stacked","subValue","add","keysFunc","props","baseHas","hasPath","path","isAxiosError","toJSON","description","fileName","lineNumber","columnNumber","isStandardBrowserEnv","originURL","msie","navigator","userAgent","urlParsingNode","document","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","isString","WeakMap","__webpack_amd_options__","nativeKeysIn","baseKeysIn","isProto","map","DataView","Map","Set","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","constructor","ctorString","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","createError","reject","hashClear","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","filter","baseTimes","iteratee","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","stackHas","global","cloneArrayBuffer","cloneDataView","dataView","byteOffset","byteLength","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","entry","baseIsDate","baseUnary","nodeUtil","nodeIsDate","webpackPolyfill","deprecate","paths","children","assocIndexOf","arrayProto","splice","lastIndex","pop","reFlags","cloneRegExp","regexp","isArguments","isIndex","isTypedArray","arrayLikeKeys","inherited","isArg","isBuff","isType","skipIndexes","String","baseIsTypedArray","nodeIsTypedArray","typedArrayTags","objectCreate","baseCreate","proto","baseToString","arrayMap","hashHas","Cancel","write","expires","domain","secure","cookie","isNumber","Date","toGMTString","read","decodeURIComponent","remove","now","mapCacheClear","mapCacheDelete","mapCacheHas","MapCache","Hash","symbolsFunc","stackClear","stackGet","stackSet","ERROR","WINDOW","JS_MD5_NO_WINDOW","WEB_WORKER","NODE_JS","JS_MD5_NO_NODE_JS","versions","node","COMMON_JS","JS_MD5_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","HEX_CHARS","split","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","blocks","buffer8","Uint32Array","obj","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","createOutputMethod","outputType","Md5","update","createMethod","nodeWrap","crypto","eval","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","start","bytes","hBytes","finalized","hashed","first","notString","lastByteIndex","finalize","a","b","bc","da","hex","arrayBuffer","base64","v1","v2","v3","base64Str","md5","isAbsoluteURL","combineURLs","baseURL","requestedURL","getCurrentScript","descriptor","getOwnPropertyDescriptor","currentScript","err","pageSource","inlineScriptSourceRegExp","inlineScriptSource","ieStackRegExp","ffStackRegExp","stackDetails","scriptLocation","line","currentLocation","scripts","getElementsByTagName","documentElement","outerHTML","trim","readyState","src","innerHTML","CancelToken","executor","TypeError","resolvePromise","token","cancel","isNew","newValue","transform","arg","asyncTag","proxyTag","other","freeProcess","types","symbolProto","symbolValueOf","valueOf","cloneSymbol","registeredInModuleLoader","OldCookies","Cookies","api","noConflict","extend","attributes","decode","init","converter","toUTCString","escape","stringifiedAttributes","attributeName","json","jar","cookies","getJSON","withConverter","MAX_SAFE_INTEGER","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","fullPath","open","toUpperCase","onreadystatechange","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","abort","send","hashGet","reIsUint","cloneTypedArray","ignoreDuplicateOf","substr","baseIsSet","fns","FormData","pipe","URLSearchParams","str","product","stripBOM","content","input","normalizedName","g","typedArray","nodeIsMap","isSymbol","INFINITY","symbolToString","createInstance","defaultConfig","context","instance","axios","all","promises","spread","default","LARGE_ARRAY_SIZE","pairs","nodeIsSet","normalizeArray","allowAboveRoot","up","last","basename","end","matchedSlash","xs","f","res","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSlash","relative","from","to","fromParts","toParts","Math","min","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","len","castPath","toKey","hasFunc","isKey","FUNC_ERROR_TEXT","resolver","memoized","Cache","allocUnsafe","copy","relativeURL","reIsDeepProp","reIsPlainProp","handlers","use","eject","id","h","TokenKey","getToken","NODE_ENV","setToken","removeToken","service","hasMessageFunc","post","HIVUI_SETTING","requestTimeout","projectName","pn","iSSign","timeStamp","getTime","isDownload","fileReader","FileReader","readAsText","onload","__data","msg","__isIntercept","options","duration","alert","confirmButtonText","loginUrl","isSingleLogin","singleLoginUrl","endsWith","item","currPageUrl","origin","mainPageUrl","dataPack","detailMsg","popupbox","console","log","ajax","success","async","fail","xhr","server","oauth","editorImgServer","serverUrl","userInfo","saveUrl","queryUrl","exportUrl","policyUrl","download","review","getFlowInfo","getApprovalInfo","processFlow","umpireOrder","queryTask","withdrawtask","taskDiagram","openOrdernumber","login","userName","pwd","_promise","logout","getInfo","modifyPw","oldPwd","newPwd","hiSetting","className","enabled","sign","dataType","tablefilter","setValue","operator","Where","items","junction","criterionData","setWhereData","paramsDataType","objParamsData","setCriterionData","recursiveSetCriteria","where","me","subLen","subItem","whereItem","addWhere","fieldName","tempVal","filterValue","addCondition","valueExpress","isCover","$HI","queryOperate","value1","operateArray","condition","addEqual","_addEqual","_addNotEqual","_addGreaterThan","_addGreaterThanAndEqual","_addLessThan","_addLessThanAndEqual","vtype","_addLike","_addLeftLike","_addRightLike","whereData","recursiveWhereData","subWhereData","itemCondition","getData","_recursionWhere","pageIndexKey","pageIndex","pageSizeKey","pageSize","equal","Orders","orderData","desc","addOrder","orderItem","getOrderItemModel","DATE","timeSchemeKey","format","date","strToDate","getMonth","getDate","getHours","getMinutes","getSeconds","floor","getMilliseconds","k","$1","getFullYear","serverTimeNow","eap","getNowTimeUrl","milliSecondsBetween","dt1","dt2","abs","secondsBetween","minutesBetween","hoursBetween","daysBetween","monthsBetween","yearsBetween","getWeekCn","dt","dayNames","getDay","getWeek","isDateTime","dateString","r1","r2","d1","num","dateof","week","parseInt","ceil","strFormatDate","strDate","strFormat","dataStr","dateOf","getQuarterStartDate","QuarterStartDate","getQuarterEndDate","getYearStartDate","yearFirstDay","getYearEndDate","yearLastDay","getMonthDays","myMonth","myYear","setDate","getWeekStartDate","weekStartDate","getWeekEndDate","weekEndDate","getMonthStartDate","dateVal","monthStartDate","getMonthEndDate","year","month","tempDate","currentNow","TimeScheme","startTime","endTime","dateAdd","datepart","dtDate","tempdate","diff","setYear","setMonth","sYear","sMonth","sDay","eYear","eMonth","eDay","eDate","setHours","setMinutes","setSeconds","NUM","accDiv","arg1","arg2","t1","t2","Number","pow","accMul","s1","s2","accAdd","max","ss","$2","pm","$3","fraction","digit","unit","head","j","formatString","isFinite","parseFloat","isNaN","NaN","hasComma","psplit","fnum","cnum","parr","formatCleanRe","comma","dec","neg","precision","round","toFixed","chineseToPinYin","l1","l2","I1","reg","arraySearch","ucfirst","spare","STR","getFirstPY","pinyin","SX","tempPY","tempSX","biz","getDownloadUrl","getPinyin","randomInt","Range","Rand","random","getUrl","getUrlValue","pos_start","pos_end","substring","setUrlValue","pName","pValue","arrUrl","paramArr","isAdd","valueArr","radix","chars","uuid","guid","nowDateTime","myRandom1","myRandom2","myRandom3","decodeStr","encodeStr","argArray","numberValue","Ch1","Ch2","String3","chineseValue","String1","String2","nZero","list","_this","dbString","formatView","formType","element","dbInt","defautlVal","queryType","dbFloat","dbDouble","dbText","rows","gridType","popup","dbBoolean","dbDatetime","dbTimestamp","dbBasic","dbArray","dbObject","dbList","dbDate","bom","_val","formredwin","body","appendChild","action","submit","parentNode","removeChild","defaultCmp","controlCfg","tempdefaultCmp","recursionCfg","assign","recuCfg","orders","paramKey","returnTotal","zcQuery","paramsData","setJsonParamsData","setJsonWhereData","model","field","bizFiled","fields","operate","in","def","addConditions","queryCdions","having","criterion","groupBy","groupFields","mycriterion","orderBy","rowField","colField","valField","row","rowSign","query","param","modelFile","funcPath","extParam","rowToCol","paramInstance","between","setPage","toStringWithKey","modelFilePath","funcpath","dataUrl","exportData","slaveExport","sheetStyle","psotData","sheetDatas","Param","version","funcFile","state","old","insertStateVal","updateStateVal","removeStateVal","overrideStateVal","colToRow","_appendSavePack","dataPacks","dynamic","_row","colName","startsWith","_$old","$old","conversion","insertOrDeletePackageColToRow","updatePackageColToRow","savePack","beforeSubmitCallBack","getDataPack","ftaskguid","flowtype","__body","fordernumber","openurl","forderguid","fmodelpath","fversion","getFuncInfo","queryHelper","saveHelper","flowHelper","funcHelper","dataHelper","userId","fuserid","fusername","deptId","forgid","deptName","forgname","roleId","froleid","roleName","frolename","bzId","fbzid","bzName","fbzname","bzDeptId","fdeptid","bzDeptName","fdeptname","bzRoleId","bzRoleName","proxyId","proxyName","bzProxyId","bzProxyName","superId","superName","bzSuperId","bzSuperName","orgPath","fuserorgpath","orgName","fuserorgname","orgId","fuserorgid","getBzByRole","getBzByDept","modelPath","fileExtension","lastIndexOf","file_path","user","FKEY","FUSERID","FTYPE","save","FVALUE","override","FNAME","project","extName","newUrl","FormFunc","DateFunc","NumberFunc","StringFunc","BomFunc","top","SysPage","closePage","close","deployDir","newPage","setting","super","SaveHelper","page","NODE_VER"],"mappings":"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","file":"eap.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"ELEMENT\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"ELEMENT\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"eap\"] = factory(require(\"ELEMENT\"));\n\telse\n\t\troot[\"eap\"] = factory(root[\"ELEMENT\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5f72__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\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 detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\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","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","// addapted from the document.currentScript polyfill by Adam Miller\n// MIT license\n// source: https://github.com/amiller-gh/currentScript-polyfill\n\n// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.getCurrentScript = factory();\n }\n}(typeof self !== 'undefined' ? self : this, function () {\n function getCurrentScript () {\n var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')\n // for chrome\n if (!descriptor && 'currentScript' in document && document.currentScript) {\n return document.currentScript\n }\n\n // for other browsers with native support for currentScript\n if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {\n return document.currentScript\n }\n \n // IE 8-10 support script readyState\n // IE 11+ & Firefox support stack trace\n try {\n throw new Error();\n }\n catch (err) {\n // Find the second match for the \"at\" string to get file src url from stack.\n var ieStackRegExp = /.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,\n ffStackRegExp = /@([^@]*):(\\d+):(\\d+)\\s*$/ig,\n stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),\n scriptLocation = (stackDetails && stackDetails[1]) || false,\n line = (stackDetails && stackDetails[2]) || false,\n currentLocation = document.location.href.replace(document.location.hash, ''),\n pageSource,\n inlineScriptSourceRegExp,\n inlineScriptSource,\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n \n if (scriptLocation === currentLocation) {\n pageSource = document.documentElement.outerHTML;\n inlineScriptSourceRegExp = new RegExp('(?:[^\\\\n]+?\\\\n){0,' + (line - 2) + '}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*', 'i');\n inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();\n }\n \n for (var i = 0; i < scripts.length; i++) {\n // If ready state is interactive, return the script tag\n if (scripts[i].readyState === 'interactive') {\n return scripts[i];\n }\n \n // If src matches, return the script tag\n if (scripts[i].src === scriptLocation) {\n return scripts[i];\n }\n \n // If inline source matches, return the script tag\n if (\n scriptLocation === currentLocation &&\n scripts[i].innerHTML &&\n scripts[i].innerHTML.trim() === inlineScriptSource\n ) {\n return scripts[i];\n }\n }\n \n // If no match, return null\n return null;\n }\n };\n\n return getCurrentScript\n}));\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n}\n\nmodule.exports = baseIsDate;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n if (\n (utils.isBlob(requestData) || utils.isFile(requestData)) &&\n requestData.type\n ) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = unescape(encodeURIComponent(config.auth.password)) || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","module.exports = require('./lib/axios');","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","export default \"ed66e7a8-abf6-4262-822d-cd53cb4ae4fe\"","import Cookies from 'js-cookie'\r\n\r\nconst TokenKey = 'EAP-Token'\r\nimport tokenId from \"@/utils/token.js\"\r\nexport function getToken() {\r\n let token = Cookies.get(TokenKey)\r\n let env = process.env;\r\n if (!token && env.NODE_ENV == \"development\") {\r\n return tokenId;\r\n }\r\n return token;\r\n}\r\n\r\nexport function setToken(token) {\r\n return Cookies.set(TokenKey, token)\r\n}\r\n\r\nexport function removeToken() {\r\n return Cookies.remove(TokenKey)\r\n}\r\n\r\n\r\nexport default {\r\n getToken,\r\n setToken,\r\n removeToken,\r\n}","import axios from 'axios'\r\nimport { getToken } from './user/auth.js'\r\nimport { MessageBox, Message } from 'element-ui'\r\n// create an axios instance\r\nconst service = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_API,\r\n timeout: 30 * 1000 // request timeout\r\n})\r\nlet hasMessageFunc=true;\r\ntry{\r\n hasMessageFunc=!!(hasMessageFunc&&Message);\r\n}catch(e){\r\n hasMessageFunc=false;\r\n}\r\n\r\nservice.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'\r\n// request拦截器\r\nservice.interceptors.request.use(\r\n config => {\r\n if (config.headers['Content-Type'] === undefined) { config.headers['Content-Type'] = 'application/json;charset=UTF-8' }\r\n\r\n const token = getToken()\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n\r\n\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName && config.url.indexOf('pn=') == -1 && !(config.params && config.params.pn)) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n\r\n // 如果接口需要签名, 则通过请求时,headers中传递sign参数true\r\n const iSSign = config.headers['sign'];\r\n if (iSSign || iSSign === undefined) {\r\n const timeStamp = new Date().getTime().toString().substr(0, 10);\r\n config.headers['timeStamp'] = timeStamp;\r\n //config.headers['signature'] = sign(config, nonce, timeStamp, store.getters.appSecret)\r\n }\r\n //开启下载流模式\r\n if (config.isDownload) {\r\n config.responseType = 'blob';\r\n delete config.isDownload;\r\n }\r\n return config\r\n },\r\n error => {\r\n // do something with request error\r\n return Promise.reject(error)\r\n }\r\n)\r\n\r\n\r\nservice.interceptors.response.use(response => {\r\n if (response.config.responseType == \"arraybuffer\") {\r\n return response;\r\n }\r\n const res = response.data;\r\n if (res.type == \"application/octet-stream\"||response.headers[\"content-type\"]==\"application/octet-stream\"){\r\n return response;\r\n } else if (response.config.responseType == \"blob\") {\r\n //流数据抛错,将blob类型重新转换成json\r\n let fileReader = new FileReader();\r\n fileReader.readAsText(res, 'utf-8');\r\n fileReader.onload = function () {\r\n let __data = JSON.parse(fileReader.result);\r\n\r\n return hasMessageFunc&&Message({\r\n message: __data.msg || __data.message || 'Error',\r\n type: 'error'\r\n })\r\n }\r\n return Promise.reject(res)\r\n }\r\n if (response.status != \"200\" || (response.data.status && response.data.status != \"200\")) {\r\n if (response.config.data && JSON.parse(response.config.data).__isIntercept === false) {\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n\r\n }\r\n }\r\n return Promise.reject(res)\r\n }\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n window.location.href = loginUrl\r\n })\r\n\r\n return Promise.reject(error)\r\n\r\n }\r\n\r\n //return Promise.reject(new Error(res.message || 'Error'))\r\n return Promise.reject(res, JSON.parse(response.config.data || \"{}\"))\r\n } else {\r\n res.dataPack = res.dataPack || res.data\r\n if(res.detailMsg||res.msg){\r\n hasMessageFunc&&Message({\r\n message: res.detailMsg || res.msg || 'Error',\r\n type: (res.popupbox&&res.popupbox.type)||'success',\r\n duration: 5 * 1000\r\n });\r\n }\r\n if (response.config.data) {\r\n try {\r\n res.options = JSON.parse(response.config.data)\r\n } catch (e) {\r\n }\r\n\r\n }\r\n return res\r\n }\r\n\r\n}, error => {\r\n let res = error.response\r\n if (res.config.data && JSON.parse(res.config.data).__isIntercept === false) {\r\n return Promise.reject(error)\r\n }\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n // Alert('你已被登出,,点击确认按钮进入登录页', '登录超时', {\r\n // confirmButtonText: '确定',\r\n // callback: action => {\r\n // window.location.href = window.appsettings.login;\r\n // }\r\n // });\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (window.HIVUI_SETTING.isSingleLogin) {\r\n loginUrl = window.HIVUI_SETTING.singleLoginUrl;\r\n }\r\n if (loginUrl.endsWith(\"=\")) {\r\n let params = window.location.search.slice(1).split(\"&\").filter(item => {\r\n if (item.indexOf(\"ticket\") == -1) {\r\n return item\r\n }\r\n });\r\n let currPageUrl = window.location.origin + window.location.pathname;\r\n if (window.HIVUI_SETTING.mainPageUrl.indexOf(currPageUrl)==-1) {\r\n params.push(\"returnPage=\" + currPageUrl);\r\n currPageUrl = window.HIVUI_SETTING.mainPageUrl;\r\n }\r\n currPageUrl = currPageUrl.replace(/#\\//g, \"\");\r\n loginUrl = loginUrl + currPageUrl + (params.length > 0 ? '?' : '') + params.join(\"&\");\r\n }\r\n\r\n window.location.href = loginUrl\r\n })\r\n return Promise.reject(error)\r\n\r\n }\r\n console.log('err' + error)// for debug\r\n // Message({\r\n // message: error.message,\r\n // type: 'error',\r\n // duration: 5 * 1000\r\n // })\r\n return Promise.reject(error)\r\n});\r\n\r\nexport default service\r\n\r\n\r\nexport function ajax(config) {\r\n const token = getToken();\r\n if (window.HIVUI_SETTING) {\r\n if (window.HIVUI_SETTING.requestTimeout || window.HIVUI_SETTING.requestTimeout == 0) {\r\n config.timeout = window.HIVUI_SETTING.requestTimeout;\r\n }\r\n if (window.HIVUI_SETTING.projectName) {\r\n let pn = window.HIVUI_SETTING.projectName;\r\n if (config.url.indexOf('?') == -1)\r\n config.url = config.url + \"?pn=\" + pn\r\n else\r\n config.url = config.url + \"&pn=\" + pn\r\n }\r\n }\r\n //创建XMLHttpRequest对象\r\n let url = config.url || \"\";\r\n let method = config.method || \"GET\";\r\n let data = config.data || {};\r\n let success = config.success;\r\n let async = config.async == undefined ? true : config.async;\r\n let fail = config.fail;\r\n var xhr = new XMLHttpRequest();\r\n //true表示异步\r\n xhr.open(method, url, async);\r\n if (config.timeout)\r\n xhr.timeout = config.timeout;\r\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n if (token) {\r\n xhr.setRequestHeader('Authorization', 'Bearer ' + token);\r\n }\r\n if (JSON.stringify(data) != \"{}\") {\r\n xhr.send(JSON.stringify(data));\r\n }\r\n else { xhr.send(); }\r\n if (async == false) {\r\n if (xhr.status == 200) {\r\n var res = JSON.parse(xhr.responseText);\r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n else {\r\n xhr.onreadystatechange = function () {\r\n // readyState == 4说明请求已完成\r\n\r\n if (xhr.readyState == 4) {\r\n if (xhr.status == 200 || xhr.status == \"200\") {\r\n var res = JSON.parse(xhr.responseText);\r\n //responseText:从服务器获得数据 \r\n success && success.call(this, res);\r\n }\r\n else {\r\n var res = JSON.parse(xhr.responseText);\r\n hasMessageFunc&&Message({\r\n message: res.msg || res.message || 'Error',\r\n type: 'error',\r\n duration: 5 * 1000\r\n })\r\n if (res.status == 401 || (res.data && res.data.status == 401)) {\r\n hasMessageFunc&&MessageBox.alert('你已被登出,请重新登录', '登录超时', {\r\n confirmButtonText: '重新登录',\r\n type: 'warning'\r\n }).then(() => {\r\n let loginUrl = window.HIVUI_SETTING.loginUrl\r\n if (loginUrl.endsWith(\"=\"))\r\n loginUrl = loginUrl + window.location.href;\r\n window.location.href = loginUrl\r\n })\r\n }\r\n else\r\n fail && fail.call(this, xhr.responseText);\r\n }\r\n }\r\n\r\n };\r\n }\r\n}","let server = process.env.NODE_ENV == 'production' ? \"/kk\" : \"/e5\"\r\nlet oauth = process.env.NODE_ENV == 'production' ? \"/kkoauth\" : \"/kkoauthdev\"\r\nexport default {\r\n projectName: 'eap5csxm/admin',\r\n url: process.env.VUE_APP_BASE_API,\r\n editorImgServer: \"\",\r\n serverUrl: process.env.VUE_APP_BASE_API + server,\r\n platform: process.env.VUE_APP_BASE_API + oauth,\r\n oauth: process.env.VUE_APP_BASE_API + oauth,\r\n userInfo: process.env.VUE_APP_BASE_API + server + \"/sys/user/detail\",\r\n saveUrl: process.env.VUE_APP_BASE_API + server + \"/data/save\",\r\n queryUrl: process.env.VUE_APP_BASE_API + server + \"/data/query\",\r\n exportUrl: process.env.VUE_APP_BASE_API + server + \"/export/dataexcel\",\r\n policyUrl: process.env.VUE_APP_BASE_API + server + \"/data/policy\",\r\n upload: process.env.VUE_APP_BASE_API + server + \"/file/upload\",\r\n download: process.env.VUE_APP_BASE_API + server + \"/file/download\",\r\n review: process.env.VUE_APP_BASE_API + server + \"/file/review\",\r\n getFlowInfo: process.env.VUE_APP_BASE_API + server + \"/flow/open\",\r\n getApprovalInfo: process.env.VUE_APP_BASE_API + server + \"/flow/getApprovalInfo\",\r\n processFlow: process.env.VUE_APP_BASE_API + server + \"/flow/processFlow\",\r\n umpireOrder: process.env.VUE_APP_BASE_API + server + \"/flow/umpireOrder\",\r\n queryTask: process.env.VUE_APP_BASE_API + server + \"/flow/queryTask\",\r\n withdrawtask: process.env.VUE_APP_BASE_API + server + \"/flow/withdrawtask\",\r\n taskDiagram: process.env.VUE_APP_BASE_API + server + \"/flow/taskDiagram\",\r\n editorImgServer: \"\",\r\n openOrdernumber: process.env.VUE_APP_BASE_API + server + \"/flow/openOrdernumber\"\r\n}","\r\nimport md5 from \"js-md5\";\r\nimport http from '../request.js'\r\nimport {getToken,setToken,removeToken} from './auth.js'\r\nimport hiSetting from \"@/hiSetting.js\";\r\n\r\nvar request = http;\r\n\r\nif (window.HIVUI_SETTING)\r\n request = window.HIVUI_SETTING.request;\r\nelse {\r\n window.HIVUI_SETTING = hiSetting\r\n}\r\n\r\n/** \r\n * 登陆\r\n * @param {Id} 系统Id\r\n */\r\nexport function login(userName, pwd) {\r\n var data = { username: userName.trim(), password: md5(pwd) };\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.login||(window.HIVUI_SETTING.serverUrl+\"/login/sso-login\"),\r\n method: 'post',\r\n data: data\r\n });\r\n _promise.then(res=>{\r\n const data = res\r\n if(data.token){\r\n setToken(data.token);\r\n }\r\n });\r\n return _promise;\r\n}\r\n\r\n\r\n/** \r\n * 登出\r\n */\r\nexport function logout() {\r\n if(!getToken()){\r\n return new Promise((resolve, reject)=>{\r\n resolve();\r\n });\r\n }\r\n let _promise=request({\r\n url: window.HIVUI_SETTING.logout||(window.HIVUI_SETTING.serverUrl+\"/login/sso-logout\"),\r\n method: 'post'\r\n });\r\n _promise.then(res=>{\r\n removeToken();\r\n });\r\n return _promise;\r\n}\r\n\r\n/** \r\n* 获取用户信息\r\n* @param {data} \r\n*/\r\nexport function getInfo(data) {\r\n return request({\r\n url: window.HIVUI_SETTING.userInfo,\r\n method: 'post',\r\n data: data\r\n\r\n })\r\n}\r\n\r\nexport function initUser(data) {\r\n let promise = getInfo(data)\r\n promise.then(res => {\r\n if (!window.eap)\r\n window.eap = {}\r\n window.eap.userInfo = res.dataPack;\r\n })\r\n return promise;\r\n}\r\n//修改密码\r\nexport function modifyPw(oldPwd, newPwd) {\r\n return request({\r\n url: window.HIVUI_SETTING.serverUrl + \"/sys/user/update-pwd\",\r\n method: 'post',\r\n data: { oldPwd, newPwd }\r\n })\r\n }\r\n\r\n\r\nexport default {\r\n login,\r\n logout,\r\n getInfo,\r\n modifyPw\r\n}","import service from \"./service.js\"\r\nimport auth from \"./auth.js\"\r\nexport default {\r\n service,auth\r\n}","export default {\r\n \"string\" :\"dbString\",\r\n \"int\" :\"dbInt\",\r\n \"float\" :\"dbFloat\",\r\n \"double\" :\"dbDouble\",\r\n \"text\" :\"dbText \",\r\n \"boolean\" :\"dbBoolean \",\r\n \"datetime\" :\"dbDatetime \",\r\n \"timestamp\" :\"dbTimestamp \"\r\n}","export default {\r\n \"pageIndex\": \"pageNum\",\r\n \"pageSize\": \"pageSize\",\r\n \"body\": \"__body\",\r\n \"funcpath\":\"__funcpath\",\r\n \"returnTotal\":\"__returnCount\",\r\n \"zcQuery\":\"__zcQuery\",\r\n \"slaveExport\":\"__slaveExport\",\r\n \"sheetStyle\":\"__sheetStyle\",\r\n \"sheetDatas\":\"__sheetDatas\"\r\n}","import types from \"./types\"\r\nimport keys from \"./keys\"\r\nimport _has from \"lodash/has\";\r\nconst defOperate = \"=\"\r\nlet WhereCondition = class WhereCondition {\r\n\r\n constructor(config) {\r\n config = config || {};\r\n this.className = 'WhereCondition'\r\n this.enabled = null,// 新添加的\r\n this.sign = null,// 操作符\r\n this.name = null,// 属性\r\n this.dataType = null,// 数据类型\r\n this.tablefilter = null,// tablefilter\r\n this.value = null,// 值\r\n this.enabled = true,\r\n this.setValue(config.name, config.value, config.dataType,\r\n config.sign, config.tablefilter);\r\n }\r\n setValue(property, value, dataType, operator, tablefilter) {\r\n this.sign = operator || \"=\";\r\n this.name = property || \"\";\r\n this.dataType = dataType || types.string;\r\n this.value = value;\r\n this.enabled = true;\r\n this.tablefilter = tablefilter == undefined ? false :\r\n tablefilter;\r\n }\r\n getValue() {\r\n return {\r\n sign: this.sign,\r\n name: this.name,\r\n tablefilter: this.tablefilter,\r\n dataType: this.dataType,\r\n value: this.value,\r\n enabled: true\r\n };\r\n }\r\n\r\n};\r\n\r\n\r\nlet Where = class Where {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config, params = []) {\r\n config = config || {};\r\n this.params = params\r\n this.className = 'Where'\r\n this.join = null\r\n this.items = null\r\n\r\n // _.extend(this, config);\r\n if (config.junction)\r\n config.join = config.junction;\r\n if (!config.join)\r\n config.join = \"and\";\r\n\r\n if (config.criterionData == null) {\r\n if (!config.join)\r\n config.join = \"and\";\r\n this.setWhereData(config.join, []);\r\n } else {\r\n var paramsDataType = typeof (config.criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(config.criterionData);//$.parseJSON(config.criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = config.criterionData;\r\n break;\r\n }\r\n this.setCriterionData(objParamsData);\r\n }\r\n }\r\n\r\n setValue(join, items) {\r\n this.setWhereData(join, items);\r\n }\r\n\r\n setWhereData(join, items) {\r\n this.join = join || \"and\";\r\n this.items = items || [];\r\n }\r\n // \r\n\r\n setCriterionData(criterionData) {\r\n var paramsDataType = typeof (criterionData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(criterionData);\r\n break;\r\n case \"object\":\r\n objParamsData = criterionData;\r\n break;\r\n }\r\n this.join = objParamsData.join || \"and\";\r\n this.items = [];\r\n this.recursiveSetCriteria(this, objParamsData.items);\r\n }\r\n recursiveSetCriteria(where, items) {\r\n var me = this;\r\n if (items == null || items.length == 0) {\r\n where.items = [];\r\n return;\r\n }\r\n var subLen = items.length;\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = items[i];\r\n if (subItem.join) {\r\n var whereItem = new Where({\r\n join: subItem.join\r\n });\r\n this.recursiveSetCriteria(whereItem, subItem.items);\r\n where.addWhere(whereItem);\r\n } else {\r\n if (subItem.sign) {\r\n var fieldName = subItem.name.replace(\"&[\", \"\").replace(\"]\",\r\n \"\");\r\n fieldName = fieldName.replace(\"this.get('\", \"\").replace(\r\n \"')\", \"\");\r\n if (typeof subItem.value == \"function\") {\r\n var tempVal = me.filterValue(subItem.value)\r\n where.addCondition(fieldName,\r\n tempVal, subItem.dataType, subItem.sign, false,\r\n subItem.tablefilter);\r\n }\r\n \r\n else\r\n where.addCondition(fieldName,\r\n subItem.value, subItem.dataType, subItem.sign,\r\n false, subItem.tablefilter);\r\n }\r\n\r\n }\r\n }\r\n }\r\n // 过滤表达式\r\n filterValue(valueExpress) {\r\n var me = this, val;\r\n val = valueExpress.call(this, ...this.params);\r\n return val;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加where addWhere\r\n * @description 添加where\r\n * @url addWhere(where)\r\n * @method $instance.addWhere(where)\r\n * @param where 必选 object where对象\r\n * @return void\r\n * @number 60\r\n */\r\n addWhere(where) {\r\n // \r\n if (where) {\r\n this.items.push(where);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 添加字段条件 addCondition\r\n * @description 添加字段条件\r\n * @url addCondition(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.addWhere(property, value, dataType, operator, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param operator 必选 String 操作符(eq,noteq,in,notin,gt,lt,isnull,isnotnull,gteq,lteq,like,likeLeft,likeRight)\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n addCondition(property, value, dataType, operator, isCover, tablefilter) {\r\n if (!operator && this.$HI)\r\n operator = this.$HI.queryOperate || 'eq';\r\n if (!operator)\r\n operator = 'eq';\r\n let value1, operateArray = [\"in\", \"notIn\"];\r\n if (typeof value === \"function\") {\r\n value = value.call();\r\n }\r\n if (operateArray.indexOf(operator) > -1\r\n && (!(value instanceof Array))) {\r\n value1 = value.split(\",\");\r\n } else {\r\n value1 = value;\r\n }\r\n\r\n if (isCover)\r\n for (var i = 0; i < this.items.length; i++) {\r\n if (property == this.items[i].name) {\r\n this.items[i].value = value1;\r\n this.items[i].tablefilter = tablefilter;\r\n this.items[i].dataType = dataType || types.string;\r\n this.items[i].sign = operator;\r\n return;\r\n }\r\n }\r\n var condition = new WhereCondition({\r\n name: property,\r\n tablefilter: tablefilter,\r\n value: value1,\r\n sign: operator,\r\n dataType: dataType || types.string\r\n });\r\n this.items.push(condition);\r\n }\r\n\r\n add(property, value, dataType, isCover, tablefilter) {\r\n this.addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n\r\n _addEqual(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"eq\", isCover, tablefilter);\r\n }\r\n\r\n _addArray(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover, tablefilter);\r\n }\r\n\r\n _addNotIn(property, value, dataType, isCover, tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\", isCover, tablefilter);\r\n }\r\n\r\n _addIsNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnull\", isCover, tablefilter);\r\n\r\n }\r\n\r\n _addIsNotNull(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, \"\", dataType, \"isnotnull\", isCover, tablefilter);\r\n }\r\n\r\n _addNotEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"noteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addGreaterThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gt\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThan(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lt\", isCover, tablefilter);\r\n }\r\n\r\n _addGreaterThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"gteq\", isCover, tablefilter);\r\n }\r\n\r\n _addLike(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"like\", isCover, tablefilter);\r\n }\r\n\r\n _addLessThanAndEqual(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, \"lteq\", isCover,\r\n tablefilter);\r\n }\r\n\r\n _addLeftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeLeft\",\r\n isCover, tablefilter);\r\n }\r\n\r\n _addRightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"likeRight\",\r\n isCover, tablefilter);\r\n }\r\n\r\n eq(property, value, dataType, isCover,\r\n tablefilter) {\r\n\r\n this._addEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 默认添加字段条件 def,操作符取决于全局设置\r\n * @description 默认添加字段条件\r\n * @url def(property, value, dataType, operator, isCover, tablefilter)\r\n * @method $instance.def(property, value, dataType, isCover, tablefilter)\r\n * @param property 必选 String 字段名\r\n * @param value 必选 String|Array 值\r\n * @param dataType 必选 String 值类型\r\n * @param isCover 可选 boolean 是否覆盖原来存在的值\r\n * @param tablefilter 可选 String tablefilter过滤\r\n * @return void\r\n * @number 60\r\n */\r\n def(property, value, dataType, isCover, tablefilter) {\r\n this.addCondition(property, value, dataType, null, isCover, tablefilter)\r\n }\r\n\r\n in(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"in\", isCover\r\n , tablefilter);\r\n }\r\n\r\n\r\n notIn(property, value, dataType, isCover,\r\n tablefilter) {\r\n if (!(value instanceof Array) && value.split) {\r\n value = value.split(\",\");\r\n }\r\n if (value.length != 0)\r\n this.addCondition(property, value, dataType, \"notIn\",\r\n isCover, tablefilter);\r\n }\r\n\r\n //到\r\n inRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"inRange\", isCover\r\n , tablefilter);\r\n }\r\n //外\r\n outRange(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"outRange\", isCover,\r\n tablefilter);\r\n }\r\n between(property, value, dataType, isCover,\r\n tablefilter) {\r\n this.addCondition(property, value, dataType, \"between\", isCover,\r\n tablefilter);\r\n }\r\n\r\n noteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addNotEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 大于\r\n gt(property, value, dataType, isCover, tablefilter) {\r\n this._addGreaterThan(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 大于等于\r\n gteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addGreaterThanAndEqual(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n // 小于 lessThan\r\n lt(property, value, dataType, isCover, tablefilter) {\r\n this._addLessThan(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 小于等于\r\n lteq(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLessThanAndEqual(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // like\r\n like(property, value, dataType, vtype, isCover, tablefilter) {\r\n this._addLike(property, value, dataType, isCover,\r\n tablefilter)\r\n }\r\n // 左Like\r\n leftLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addLeftLike(property, value, dataType, isCover,\r\n tablefilter);\r\n\r\n }\r\n // 右Like\r\n rightLike(property, value, dataType, isCover,\r\n tablefilter) {\r\n this._addRightLike(property, value, dataType, isCover,\r\n tablefilter);\r\n }\r\n\r\n getItemByIndex(i) {\r\n return this.items[i];\r\n }\r\n deleteItemByIndex(i) {\r\n this.items.splice(i, 1);\r\n }\r\n\r\n getData() {\r\n var len = this.items.length;\r\n if (len == 0) {\r\n return null;\r\n }\r\n var whereData = {\r\n join: this.join,\r\n items: []\r\n };\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n this.recursiveWhereData(whereData, item);\r\n }\r\n return whereData;\r\n }\r\n\r\n recursiveWhereData(whereData, item) {\r\n if (item.items) {\r\n var subLen = item.items.length;\r\n if (subLen > 0) {\r\n var subWhereData = {\r\n join: item.join,\r\n items: []\r\n };\r\n for (var i = 0; i < subLen; i++) {\r\n var subItem = item.items[i];\r\n this.recursiveWhereData(subWhereData, subItem);\r\n }\r\n whereData.items.push(subWhereData);\r\n }\r\n } else {\r\n var itemCondition = item.getValue();\r\n whereData.items.push(itemCondition);\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取where JSON toJSON\r\n * @description 获取where JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.getData();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.getData());\r\n }\r\n\r\n\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 根据字段名称返回该字段条件对象。getConditionByKey\r\n * @description 根据字段名称返回该字段条件对象。\r\n * @param key 必选 String 字段名\r\n * @url getConditionByKey()\r\n * @method $instance.getConditionByKey(key)\r\n * @return Object\r\n * @number 60\r\n */\r\n getConditionByKey(key) {\r\n var len = this.items.length;\r\n for (var i = 0; i < len; i++) {\r\n var item = this.items[i];\r\n if (item.property && item.property == key) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n // 应用存储过程\r\n setCustomWhere(join) {\r\n var where = new Where({\r\n join: join || \"and\"\r\n });\r\n var i = 0, len = this.items.length;\r\n for (; i < len; i++) {\r\n if (this.items[i].property) {\r\n where.addCondition(this.items[i].name, this.items[i].value, this.items[i].dataType, this.items[i].sign, this.items[i].isCover, this.items[i].tablefilter);\r\n } else\r\n this._recursionWhere(where, this.items[i].items);\r\n }\r\n this.join = where.join;\r\n this.items = where.items;\r\n }\r\n // 递归where 所有\r\n _recursionWhere(where, items) {\r\n var i = 0, len = items.length;\r\n for (; i < len; i++) {\r\n if (items[i].property)\r\n where.addCondition(items[i].name, items[i].value, items[i].dataType, items[i].sign, items[i].isCover, items[i].tablefilter);\r\n else\r\n this._recursionWhere(where, items[i].items);\r\n }\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置是否需要翻页。isPaging\r\n * @description 设置是否需要翻页。\r\n * @url isPaging()\r\n * @method $instance.isPaging()\r\n * @return boolean\r\n * @number 60\r\n */\r\n isPaging() {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n\r\n if (_has(this, pageIndexKey) && _has(this, pageSizeKey))\r\n return true;\r\n else\r\n return false;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 设置翻页。setPage\r\n * @description 设置翻页。 \r\n * @url setPage(pageIndex,pageSize)\r\n * @method $instance.setPage(pageIndex,pageSize)\r\n * @param pageIndex 必选 Int 起止页\r\n * @param pageSize 必选 Int 每页显示多少条\r\n * @return void\r\n * @number 60\r\n */\r\n setPage(pageIndex, pageSize) {\r\n var pageIndexKey = keys.pageIndex;\r\n var pageSizeKey = keys.pageSize;\r\n if (pageIndex == -1 || pageSize == -1) {\r\n pageIndex = -1;\r\n pageSize = -1;\r\n }\r\n this[pageIndexKey] = pageIndex;\r\n this[pageSizeKey] = pageSize;\r\n return;\r\n\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where起止页 getPageIndex\r\n * @description 获取当前where起止页。 \r\n * @url getPageIndex()\r\n * @method $instance.getPageIndex()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageIndex() {\r\n var pageIndex = this[keys.pageIndex];\r\n if (pageIndex == -1)\r\n return 1;\r\n return pageIndex;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Where条件\r\n * @title 获取当前where页每页显示多少条 getPageSize\r\n * @description 获取当前where每页显示多少条。 \r\n * @url getPageSize()\r\n * @method $instance.getPageSize()\r\n * @return Int\r\n * @number 60\r\n */\r\n getPageSize() {\r\n var pageSize = this[keys.pageSize];\r\n if (pageSize == -1)\r\n return 1000;\r\n return pageSize;\r\n }\r\n}\r\nWhere.prototype.equal = Where.prototype.eq\r\nexport default Where","\r\nexport default class Orders {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orderData = [];\r\n if (config.orderData) {\r\n this.orderData = config.orderData;\r\n }\r\n }\r\n getOrderItemModel() {\r\n return {\r\n name: \"\",\r\n desc: \"\",\r\n type: \"desc\"\r\n };\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加降序条件 addDesc\r\n * @description 添加降序条件\r\n * @url addDesc(property, desc)\r\n * @method $instance.addDesc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addDesc(property, desc) {\r\n this.addOrder(property, \"desc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加升序 addAsc\r\n * @description 添加升序条件\r\n * @url addAsc(property, desc)\r\n * @method $instance.addAsc(property, desc)\r\n * @param property 必选 String 字段名\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addAsc(property, desc) {\r\n this.addOrder(property, \"asc\", desc);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 添加排序 addOrder\r\n * @description 添加排序\r\n * @url addOrder(property, type, desc)\r\n * @method $instance.addOrder(property, type, desc)\r\n * @param property 必选 String 字段名\r\n * @param type 必选 String 排序类型\r\n * @param desc 可选 String 字段描述\r\n * @return void\r\n * @number 1\r\n */\r\n addOrder(property, type, desc) {\r\n var orderItem = this.getOrderItemModel();\r\n orderItem.name = property;\r\n orderItem.desc = desc;\r\n orderItem.type = type\r\n this.orderData.push(orderItem);\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 获取Orders JSON toJSON\r\n * @description 获取Orders JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n return this.orderData;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Orders排序\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.orderData);\r\n }\r\n\r\n}","\r\nimport hiSetting from '@/hiSetting'\r\nconst DATE = {\r\n\ttimeSchemeKey: {\r\n\t\t\"today\": \"today\",\r\n\t\t\"yesterday\": \"yesterday\",\r\n\t\t\"week\": \"week\",\r\n\t\t\"month\": \"month\",\r\n\t\t\"premonth\": \"premonth\",\r\n\t\t\"quarter\": \"quarter\",\r\n\t\t\"year\": \"year\",\r\n\t\t\"days7\": \"days7\",\r\n\t\t\"days28\": \"days28\",\r\n\t\t\"days84\": \"days84\",\r\n\t\t\"halfyear\": \"halfyear\",\r\n\t\t\"oneyear\": \"oneyear\"\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 日期格式化\r\n\t * @description 将条件转成字符结果\r\n\t * @url format(date, format)\r\n\t * @method $instance.format(date, format)\r\n\t * @param date 必选 Date|String 需要格式化日期\r\n\t * @param format 必选 String 格式化类型\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tformat: function (date, format) {\r\n\t\tif (!date)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof date == \"string\")\r\n\t\t\tdate = DATE.strToDate(date);\r\n\t\tformat = format.replace(/HH/, \"hh\");\r\n\t\tvar o = {\r\n\t\t\t\"M+\": date.getMonth() + 1, // month\r\n\t\t\t\"d+\": date.getDate(), // day\r\n\t\t\t\"D+\": date.getDate(), // day\r\n\t\t\t\"h+\": date.getHours(), // hour\r\n\t\t\t\"H+\": date.getHours(), // hour\r\n\t\t\t\"m+\": date.getMinutes(), // minute\r\n\t\t\t\"s+\": date.getSeconds(), // second\r\n\t\t\t\"q+\": Math.floor((date.getMonth() + 3) / 3), // quarter\r\n\t\t\t\"S\": date.getMilliseconds()\r\n\t\t\t// millisecond\r\n\t\t}\r\n\t\tif (/(y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tif (/(Y+)/.test(format))\r\n\t\t\tformat = format.replace(RegExp.$1, (date.getFullYear() + \"\").substr(4\r\n\t\t\t\t- RegExp.$1.length));\r\n\t\tfor (var k in o)\r\n\t\t\tif (new RegExp(\"(\" + k + \")\").test(format))\r\n\t\t\t\tformat = format.replace(RegExp.$1, RegExp.$1.length == 1\r\n\t\t\t\t\t? o[k]\r\n\t\t\t\t\t: (\"00\" + o[k]).substr((\"\" + o[k]).length));\r\n\t\treturn format;\r\n\t},\r\n\t//获取服务端时间\r\n\tgetServerTimeNow() {\r\n\t\tlet serverTimeNow = \"\";\r\n\t\twindow.eap.ajax({\r\n\t\t\turl: window.HIVUI_SETTING.getNowTimeUrl,\r\n\t\t\tmethod:\"GET\",//可不传,默认post\r\n\t\t\tasync:false,//可不传,默认true\t\t\r\n\t\t\tsuccess: function(response) {\r\n\t\t\t\tserverTimeNow = response.dataPack;\r\n\t\t\t},\r\n\t\t\tfail:function(){\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn serverTimeNow;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:毫秒差间隔\r\n\t * @description dt1与dt2日期之间毫秒差间隔\r\n\t * @url milliSecondsBetween(dt1, dt2)\r\n\t * @method $instance.milliSecondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmilliSecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\treturn Math.abs(dt1.getTime() - dt2.getTime());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间:秒差间隔\r\n\t * @description dt1与dt2日期之间秒差间隔\r\n\t * @url secondsBetween(dt1, dt2)\r\n\t * @method $instance.secondsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tsecondsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getTime() - dt2.getTime()) / 1000);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间分差间隔\r\n\t * @description dt1与dt2日期之间分差间隔\r\n\t * @url minutesBetween(dt1, dt2)\r\n\t * @method $instance.minutesBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 分差\r\n\tminutesBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 60)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间时差间隔\r\n\t * @description dt1与dt2日期之间时差间隔\r\n\t * @url hoursBetween(dt1, dt2)\r\n\t * @method $instance.hoursBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\t// 小时差\r\n\thoursBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间天差间隔\r\n\t * @description dt1与dt2日期之间天差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tdaysBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.floor(Math.abs((dt1.getTime() - dt2.getTime())\r\n\t\t\t/ (1000 * 3600 * 24)));\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间月差间隔\r\n\t * @description dt1与dt2日期之间月差间隔\r\n\t * @url daysBetween(dt1, dt2)\r\n\t * @method $instance.daysBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tmonthsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs((dt1.getFullYear() - dt2.getFullYear()) * 12)\r\n\t\t\t+ Math.abs(dt1.getMonth() - dt2.getMonth());\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title dt1与dt2日期之间年差间隔\r\n\t * @description dt1与dt2日期之间年差间隔\r\n\t * @url yearsBetween(dt1, dt2)\r\n\t * @method $instance.yearsBetween(dt1, dt2)\r\n\t * @param dt1 必选 Date|String 日期时间1\r\n\t * @param dt2 必选 Date|String 日期时间2\r\n\t * @return Int\r\n\t * @number 60 \r\n\t */\r\n\tyearsBetween: function (dt1, dt2) {\r\n\t\tif (typeof dt1 == \"string\")\r\n\t\t\tdt1 = DATE.strToDate(dt1);\r\n\t\tif (typeof dt2 == \"string\")\r\n\t\t\tdt2 = DATE.strToDate(dt2);\r\n\t\tif (!dt1 || !dt2)\r\n\t\t\treturn null;\r\n\t\treturn Math.abs(dt1.getFullYear() - dt2.getFullYear());\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取中文星期\r\n\t * @description 获取中文星期\r\n\t * @url getWeekCn(dt)\r\n\t * @method $instance.getWeekCn(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekCn: function (dt) {\r\n\t\tvar dayNames = new Array(\"星期日\", \"星期一\", \"星期二\", \"星期三\", \"星期四\", \"星期五\",\r\n\t\t\t\"星期六\");\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dayNames[dt.getDay()];\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获取数字星期\r\n\t * @description 获取数字星期\r\n\t * @url getWeek(dt)\r\n\t * @method $instance.getWeek(dt)\r\n\t * @param dt 必选 Date|String 日期时间\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetWeek: function (dt) {\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\treturn dt.getDay();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否时间日期\r\n\t * @description 是否时间日期\r\n\t * @url isDateTime(dateString)\r\n\t * @method $instance.isDateTime(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDateTime: function (dateString) {\r\n\t\tif (dateString.trim() == \"\")\r\n\t\t\treturn false;\r\n\t\t// 年月日时分秒正则表达式\r\n\t\tvar r = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})$/);\r\n\t\tvar r1 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2}):(\\d{1,2}).(\\d{1,6})$/);\r\n\t\tvar r2 = dateString\r\n\t\t\t.match(/^(\\d{1,4})\\-(\\d{1,2})\\-(\\d{1,2}) (\\d{1,2}):(\\d{1,2})$/);\r\n\t\tif (r == null && r1 == null && r2 == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tr = r || r1 || r2;\r\n\t\tif (r.length == 6) {// 时间格式为:2018-04-11 17:31\r\n\t\t\tvar d1 = new Date(r[1], r[2] - 1, r[3], r[4], r[5]);\r\n\t\t\tlet num = (d1.getFullYear() == r[1] && (d1.getMonth() + 1) == r[2]\r\n\t\t\t\t&& d1.getDate() == r[3] && d1.getHours() == r[4] && d1\r\n\t\t\t\t\t.getMinutes() == r[5]);\r\n\t\t\tif (num == 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t} else\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar d = new Date(r[1], r[2] - 1, r[3], r[4], r[5], r[6]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[2]\r\n\t\t\t&& d.getDate() == r[3] && d.getHours() == r[4]\r\n\t\t\t&& d.getMinutes() == r[5] && d.getSeconds() == r[6]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 是否日期类型\r\n\t * @description 是否日期类型\r\n\t * @url isDate(dateString)\r\n\t * @method $instance.isDate(dateString)\r\n\t * @param dateString 必选 Date|String 日期时间\r\n\t * @return boolean\r\n\t * @number 60 \r\n\t */\r\n\tisDate: function (dateString) {\r\n\t\tif (dateString == \"\")\r\n\t\t\treturn true;\r\n\t\t// 年月日正则表达式\r\n\t\tvar r = dateString.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/);\r\n\t\tif (r == null) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar d = new Date(r[1], r[3] - 1, r[4]);\r\n\t\tlet num = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d\r\n\t\t\t.getDate() == r[4]);\r\n\t\tif (num == 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn (num != 0);\r\n\t},\r\n\tdateof: function (dt, type) {\r\n\t\tlet result;\r\n\t\tif (!dt)\r\n\t\t\treturn \"\";\r\n\t\tif (typeof dt == \"string\")\r\n\t\t\tdt = DATE.strToDate(dt);\r\n\t\tswitch (type) {\r\n\t\t\tcase \"y\":\r\n\t\t\t\tresult = dt.getFullYear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\":\r\n\t\t\t\tresult = dt.getMonth() + 1;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"min\":\r\n\t\t\t\tresult = dt.getMinutes();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"time\":\r\n\t\t\t\tresult = DATE.format(\"yyyy-MM-dd hh:mm:ss\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"date\":\r\n\t\t\t\tresult = DATE.format('yyyy-MM-dd');\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekCn\":\r\n\t\t\t\tresult = dt.week();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"week\":\r\n\t\t\t\tresult = dt.getDay();\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"weekInYear\":\r\n\t\t\t\tvar first = new Date(dt.getFullYear(), 0, 1);\r\n\t\t\t\tvar n = parseInt(\"1065432\".charAt(first.getDay()));\r\n\t\t\t\tn = dt.getTime() - first.getTime() - n * 24 * 60 * 60 * 1000;\r\n\t\t\t\tn = Math.ceil(n / (7 * 24 * 60 * 60 * 1000));\r\n\t\t\t\tresult = first.getDay() != 1 ? (n + 1) : n;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tresult = \"\";\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换指定日期类型\r\n * @description 字符转换指定日期类型\r\n * @url strFormatDate(strDate,strFormat)\r\n * @method $instance.strFormatDate(strDate,strFormat)\r\n * @param strDate 必选 String 日期时间\r\n * @param strFormat 必选 String 格式化类型\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrFormatDate: function (strDate, strFormat) {\r\n\t\tif (strDate == \"\" || strDate == null)\r\n\t\t\treturn \"\";\r\n\t\tlet d = DATE.strToDate(strDate);\r\n\t\tif (!strFormat)\r\n\t\t\treturn d;\r\n\t\treturn d.format(strFormat);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 字符转换日期类型\r\n * @description 字符转换日期类型\r\n * @url strToDate(dataStr)\r\n * @method $instance.strToDate(dataStr)\r\n * @param dataStr 必选 String 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tstrToDate: function (dataStr) {\r\n\t\tif (!dataStr)\r\n\t\t\treturn \"\";\r\n\t\tif (dataStr && dataStr.constructor === Date) { // 2010.08.02\r\n\t\t\t// 已经是时间类型,就不过滤。\r\n\t\t\treturn dataStr;\r\n\t\t}\r\n\t\tif (typeof dataStr == \"string\") {\r\n\t\t\tif (dataStr.indexOf('.') > -1) // 2010.07.13 08335 cai\r\n\t\t\t\tdataStr = dataStr.split('.')[0];\r\n\t\t}\r\n\t\t// 只有时间字符串 01521\r\n\t\tif (dataStr.indexOf(\"-\") == -1 && dataStr.indexOf(\".\") == -1\r\n\t\t\t&& dataStr.indexOf(\":\") != -1)\r\n\t\t\tdataStr = DATE.dateOf(new Date()) + \" \" + dataStr;\r\n\r\n\t\tvar arr = dataStr.split(/[- :]/)\r\n\t\tif (dataStr != \"\" && arr.length == 1) { // 当:dataStr:1,返回:2010-01-01\r\n\t\t\t// 00:00:00\r\n\t\t\tconsole.log(dataStr + \" Invalid Date\")\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\treturn new Date(Date.parse(dataStr));\r\n\t}\r\n\t,\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得季度的第一天\r\n * @description 获得季度的第一天\r\n * @url getQuarterStartDay(dataStr)\r\n * @method $instance.getQuarterStartDay(dataStr)\r\n * @param dataStr 必选 Date 日期时间\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 0, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 3, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 9, 1);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本季度的结束日期\r\n * @description 获得本季度的结束日期\r\n * @url getQuarterEndDate()\r\n * @method $instance.getQuarterEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetQuarterEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar QuarterStartDate = '';\r\n\t\tif (now.getMonth() < 3) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 2, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 2 && now.getMonth() < 6) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 6, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\t\t} else if (now.getMonth() > 5 && now.getMonth() < 9) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 8, 30);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\r\n\t\t} else if (now.getMonth() > 8) {\r\n\t\t\tQuarterStartDate = new Date(now.getFullYear(), 11, 31);\r\n\t\t\treturn this.format(QuarterStartDate, \"yyyy-MM-dd\");\r\n\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的开始日期\r\n * @description 获得本年度的开始日期\r\n * @url getYearStartDate()\r\n * @method $instance.getYearStartDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearFirstDay = new Date(now.getFullYear(), 0, 1);\r\n\t\treturn this.format(yearFirstDay, \"yyyy-MM-dd\");\r\n\t\t//return yearFirstDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得本年度的结束日期\r\n * @description 获得本年度的结束日期\r\n * @url getYearEndDate()\r\n * @method $instance.getYearEndDate()\r\n * @return Date\r\n * @number 60 \r\n */\r\n\tgetYearEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar yearLastDay = new Date(now.getFullYear(), 11, 31);\r\n\t\treturn this.format(yearLastDay, \"yyyy-MM-dd\");\r\n\t\t//return yearLastDay.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Date\r\n * @title 获得某月的天数\r\n * @description 获得某月的天数\r\n * @url getMonthDays(myMonth,myYear)\r\n * @method $instance.getMonthDays(myMonth,myYear)\r\n * @param myMonth,myYear 必选 int 月份\r\n * @param myMonth,myYear 必选 int 年份\r\n * @return Int\r\n * @number 60 \r\n */\r\n\tgetMonthDays: function (myMonth, myYear) {\r\n\t\tif (myYear == undefined) {\r\n\t\t\tvar now = new Date();\r\n\t\t\tmyYear = now.getFullYear();\r\n\t\t}\r\n\t\tmyMonth--;\r\n\t\tvar d = new Date(myYear, myMonth, 1);\r\n\t\td.setDate(d.getDate() + 32 - d.getDate());\r\n\t\treturn (32 - d.getDate())\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的开始日期\r\n\t * @description 获得本周的开始日期\r\n\t * @url getWeekStartDate()\r\n\t * @method $instance.getWeekStartDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekStartDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekStartDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t- now.getDay());\r\n\t\treturn this.format(weekStartDate, \"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本周的结束日期\r\n\t * @description 获得本周的结束日期\r\n\t * @url getWeekEndDate()\r\n\t * @method $instance.getWeekEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetWeekEndDate: function () {\r\n\t\tvar now = new Date();\r\n\t\tvar weekEndDate = new Date(now.getFullYear(), now.getMonth(), now\r\n\t\t\t.getDate()\r\n\t\t\t+ (6 - now.getDay()));\r\n\t\treturn this.format(weekEndDate, \"yyyy-MM-dd\");\r\n\t\t//return weekEndDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的开始日期\r\n\t * @description 获得本月的开始日期\r\n\t * @url getMonthStartDate()\r\n\t * @method $instance.getMonthStartDate()\r\n\t * @param dateVal 必选 Date|String 日期\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthStartDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\t\tvar monthStartDate = new Date(now.getFullYear(), now.getMonth(), 1);\r\n\t\treturn this.format(monthStartDate, \"yyyy-MM-dd\");\r\n\t\t//monthStartDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获得本月的结束日期\r\n\t * @description 获得本月的结束日期\r\n\t * @url getMonthEndDate()\r\n\t * @method $instance.getMonthEndDate()\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tgetMonthEndDate: function (dateVal) {\r\n\t\tvar now = new Date();\r\n\r\n\t\tif (dateVal && typeof dateVal == \"string\")\r\n\t\t\tnow = DATE.strToDate(dateVal);\r\n\r\n\t\tlet year = now.getFullYear();\r\n\t\tlet month = now.getMonth();\r\n\t\tvar tempDate = new Date(new Date(year, month + 1, 1).getTime() - 1000\r\n\t\t\t* 60 * 60 * 24)\r\n\t\treturn this.format(tempDate, \"yyyy-MM-dd\");\r\n\t\t//return tempDate.format(\"yyyy-MM-dd\");\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获当前时间\r\n\t * @description 获当前时间\r\n\t * @url now()\r\n\t * @method $instance.now(format)\r\n\t * @param format 可选 String 格式化\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tnow: function (format) {\r\n\t\tformat = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\t\treturn this.format(new Date(), format);\r\n\t},\r\n\tcurrentNow: function () {\r\n\t\treturn new Date();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 获时间方案\r\n\t * @description 获时间方案\r\n\t * @url TimeScheme(name)\r\n\t * @method $instance.TimeScheme(name)\r\n\t * @param name 必选 String 方案名称\r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tTimeScheme: function (name) {\r\n\t\tvar startTime = \" 00:00:00到\", endTime = \" 23:59:59\";\r\n\t\tswitch (name) {\r\n\t\t\tcase \"today\":\r\n\t\t\t\treturn this.format(this.strToDate(this.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"yesterday\":\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.format(this.dateAdd(\"d\", -1, this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.dateAdd(\"d\", -1, this\r\n\t\t\t\t\t\t.now()), \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ endTime;\r\n\r\n\t\t\tcase \"week\":\r\n\t\t\t\treturn this.getWeekStartDate() + startTime\r\n\t\t\t\t\t+ this.getWeekEndDate() + endTime;\r\n\r\n\t\t\tcase \"month\":\r\n\t\t\t\treturn this.getMonthStartDate() + startTime\r\n\t\t\t\t\t+ this.getMonthEndDate() + endTime;\r\n\r\n\t\t\tcase \"quarter\":\r\n\t\t\t\treturn this.getQuarterStartDate() + startTime\r\n\t\t\t\t\t+ this.getQuarterEndDate() + endTime;\r\n\r\n\t\t\tcase \"year\":\r\n\t\t\t\treturn this.getYearStartDate() + startTime\r\n\t\t\t\t\t+ this.getYearEndDate() + endTime;\r\n\r\n\t\t\tcase \"days7\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -7, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days28\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -28, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"days84\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -84, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"halfyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -180, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t\tcase \"oneyear\":\r\n\t\t\t\treturn this.format(this.dateAdd(\"d\", -365, this.now())\r\n\t\t\t\t\t, \"yyyy-MM-dd\")\r\n\t\t\t\t\t+ startTime\r\n\t\t\t\t\t+ this.format(this.strToDate(this.now()),\r\n\t\t\t\t\t\t\"yyyy-MM-dd\") + endTime;\r\n\r\n\t\t}\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/Date\r\n\t * @title 在日期中添加或者减去指定的时间间隔天数\r\n\t * @description 在日期中添加或者减去指定的时间间隔天数\r\n\t * @url dateAdd(datepart, number, dtDate)\r\n\t * @method $instance.dateAdd(datepart, number, dtDate)\r\n\t * @param datepart 必选 String 间隔类型\r\n\t * @param number 必选 Int 间隔数\r\n\t * @param dtDate 必选 Date \r\n\t * @return Date\r\n\t * @number 60 \r\n\t */\r\n\tdateAdd: function (datepart, number, dtDate) {\r\n\t\tif (typeof dtDate == \"string\")\r\n\t\t\tdtDate = DATE.strToDate(dtDate);\r\n\t\tvar date = new Date(dtDate);\r\n\t\tdatepart = (datepart || 'd').toLowerCase();\r\n\t\tlet diff = parseInt(number);\r\n\t\tlet tempdate;\r\n\t\tswitch (datepart) {\r\n\t\t\tcase \"y\": // 年\r\n\t\t\t\ttempdate = date.setYear(date.getFullYear() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"q\": // 季度\r\n\t\t\t\ttempdate = date.setMonth(date.getMonth() + (diff * 3))\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"m\": // 月\r\n\r\n\t\t\t\tvar sYear = date.getFullYear();\r\n\t\t\t\tvar sMonth = date.getMonth() + 1;\r\n\t\t\t\tvar sDay = date.getDate();\r\n\r\n\t\t\t\tvar eYear = sYear;\r\n\t\t\t\tvar eMonth = sMonth + diff;\r\n\t\t\t\tvar eDay = sDay;\r\n\t\t\t\twhile (eMonth > 12) {\r\n\t\t\t\t\teYear++;\r\n\t\t\t\t\teMonth -= 12;\r\n\t\t\t\t}\r\n\t\t\t\tvar eDate = new Date(eYear, eMonth - 1, eDay);\r\n\r\n\t\t\t\twhile (eDate.getMonth() != eMonth - 1) {\r\n\t\t\t\t\teDay--;\r\n\t\t\t\t\teDate = new Date(eYear, eMonth - 1, eDay);\r\n\t\t\t\t}\r\n\t\t\t\ttempdate = eDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"d\": // 天\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"h\": // 时\r\n\t\t\t\ttempdate = date.setHours(date.getHours() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"mi\": // 分\r\n\t\t\t\ttempdate = date.setMinutes(date.getMinutes() + diff);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"s\": // 秒\r\n\t\t\t\ttempdate = date.setSeconds(date.getSeconds() + diff)\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\ttempdate = date.setDate(date.getDate() + diff);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn new Date(tempdate);\r\n\t}\r\n}\r\nexport default DATE;\r\n\r\n\r\n\r\n\r\n","\r\nimport { statSync } from \"fs\";\r\n\r\nconst NUM = {\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 除法函数,用来得到精确的除法结果\r\n * @description 除法函数,用来得到精确的除法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 被除数\r\n\t * @param arg2 必选 Number 除数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccDiv : function(arg1, arg2) {\r\n\t\tvar t1 = 0, t2 = 0, r1, r2;\r\n\t\ttry {\r\n\t\t\t\r\n\t\t\tt1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt1 = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tt2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tt2 = 0;\r\n\t\t}\r\n\t\tr1 = Number(arg1.toString().replace(\".\", \"\"))\r\n\t\tr2 = Number(arg2.toString().replace(\".\", \"\"))\r\n\t\treturn (r1 / r2) * Math.pow(10, t2 - t1);\r\n\t},\r\n\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 乘法函数,用来得到精确的乘法结果\r\n * @description 乘法函数,用来得到精确的乘法结果\r\n * @url accDiv(arg1,arg2)\r\n * @method $instance.accDiv(arg1,arg2)\r\n\t * @param arg1 必选 Number 乘数\r\n\t * @param arg2 必选 Number 乘数\r\n * @return float\r\n * @number 60 \r\n */\r\n\taccMul : function(arg1, arg2) {\r\n\t\tvar m = 0, s1 = arg1.toString(), s2 = arg2.toString();\r\n\t\ttry {\r\n\t\t\tm += s1.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm = 0;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tm += s2.split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tm += 0;\r\n\t\t}\r\n\t\treturn Number(s1.replace(\".\", \"\")) * Number(s2.replace(\".\", \"\"))\r\n\t\t\t\t/ Math.pow(10, m)\r\n\t},\r\n/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 加法函数,用来得到精确的加法结果\r\n * @description 加法函数,用来得到精确的加法结果\r\n * @url accAdd(arg1,arg2)\r\n * @method $instance.accAdd(arg1,arg2)\r\n\t * @param arg1 必选 Number 加数\r\n\t * @param arg2 必选 Number 加数\r\n * @return float\r\n * @number 60 \r\n */\r\n\t\r\n\taccAdd : function(arg1, arg2) {\r\n\t\tvar r1, r2, m;\r\n\t\ttry {\r\n\t\t\tr1 = arg1.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr1 = 0\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tr2 = arg2.toString().split(\".\")[1].length\r\n\t\t} catch (e) {\r\n\t\t\tr2 = 0\r\n\t\t}\r\n\t\tm = Math.pow(10, Math.max(r1, r2))\r\n\t\treturn (NUM.accMul(arg1, m) + NUM.accMul(arg2, m)) / m\r\n\t},\r\n\r\n\ttoFixed(number,d) {\r\n\t\tif (d < 0) {\r\n\t\t\td = 0;\r\n\t\t}\r\n\t\tlet s = number + \"\";\r\n\t\tif (!d)\r\n\t\t\td = 0;\r\n\t\tif (s.indexOf(\".\") == -1)\r\n\t\t\ts += \".\";\r\n\t\ts += new Array(d + 1).join(\"0\");\r\n\t\tif (new RegExp(\"^(-|\\\\+)?(\\\\d+(\\\\.\\\\d{0,\" + (d + 1) + \"})?)\\\\d*$\").test(s)) {\r\n\t\t\tlet ss = \"0\" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true;\r\n\t\t\tif (a == d + 2) {\r\n\t\t\t\ta = statSync.match(/\\d/g);\r\n\t\t\t\tif (parseInt(a[a.length - 1]) > 4) {\r\n\t\t\t\t\tfor (let i = a.length - 2; i >= 0; i--) {\r\n\t\t\t\t\t\ta[i] = parseInt(a[i]) + 1;\r\n\t\t\t\t\t\tif (a[i] == 10) {\r\n\t\t\t\t\t\t\ta[i] = 0;\r\n\t\t\t\t\t\t\tb = i != 1;\r\n\t\t\t\t\t\t} else\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tss = a.join(\"\").replace(new RegExp(\"(\\\\d+)(\\\\d{\" + d + \"})\\\\d$\"),\r\n\t\t\t\t\t\t\"$1.$2\");\r\n\t\r\n\t\t\t}\r\n\t\t\tif (b)\r\n\t\t\t\tss = s.substr(1);\r\n\t\t\treturn (pm + ss).replace(/\\.$/, \"\");\r\n\t\t}\r\n\t\treturn this + \"\";\r\n\t\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 中文数字格式化\r\n * @description 中文数字格式化\r\n * @url formatCn(n)\r\n * @method $instance.formatCn(n)\r\n\t * @param n 必选 Number 数字\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformatCn(n) {\r\n\t\tlet fraction = ['角', '分'];\r\n\t\tlet digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];\r\n\t\tlet unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];\r\n\t\tlet head = n < 0 ? '欠' : '';\r\n\t\tn = Math.abs(n);\r\n\r\n\t\tlet s = '';\r\n\r\n\t\tfor (let i = 0; i < fraction.length; i++) {\r\n\t\t\ts += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\r\n\t\t}\r\n\t\ts = s || '整';\r\n\t\tn = Math.floor(n);\r\n\r\n\t\tfor (let i = 0; i < unit[0].length && n > 0; i++) {\r\n\t\t\tlet p = '';\r\n\t\t\tfor (let j = 0; j < unit[1].length && n > 0; j++) {\r\n\t\t\t\tp = digit[n % 10] + unit[1][j] + p;\r\n\t\t\t\tn = Math.floor(n / 10);\r\n\t\t\t}\r\n\t\t\ts = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\r\n\t\t}\r\n\t\treturn head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');\r\n\t},\r\n\t\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/Number\r\n * @title 数值格式化\r\n * @description 数值格式化\r\n * @url formatString(v,formatstring)\r\n * @method $instance.formatString(v,formatstring)\r\n\t * @param v 必选 Number 数字\r\n\t * @param strign 必选 string 格式化\r\n * @return string\r\n * @number 60 \r\n */\r\n\tformat: function (v, formatString) {\r\n\t\tif (!formatString) {\r\n\t\t\tformatString = \"000,0.00\";\r\n\t\t\t//return v;\r\n\t\t}\r\n\r\n\t\tif(formatString.indexOf(\"¥\")>-1)\r\n\t\t{\r\n\t\t\tformatString = \"¥000,0.00\";\r\n\t\t}\r\n\t\tif (isFinite(v)) {\r\n\t\t\tv = parseFloat(v);\r\n\t\t}\r\n\t\tif (formatString.indexOf('%') > -1) {\r\n\t\t\tv = v * 100;\r\n\t\t}\r\n\t\tv = !isNaN(v) ? v : NaN;\r\n\t\tif (isNaN(v)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet formatCleanRe = /[^\\d\\.]/g;\r\n\t\tlet comma = \",\", dec = '.', neg = v < 0, hasComma, psplit, fnum, cnum, parr, j, m, n, i;\r\n\t\tv = Math.abs(v);\r\n\t\t// if (formatString.substr(formatString.length - 2) == '/i') {\r\n\t\t// \tI18NFormatCleanRe = new RegExp('[^\\\\d\\\\'\r\n\t\t// \t\t+ UtilFormat.decimalSeparator + ']', 'g');\r\n\t\t// \tformatString = formatString.substr(0, formatString.length - 2);\r\n\t\t// \thasComma = formatString.indexOf(comma) != -1;\r\n\t\t// \tpsplit = formatString.replace(I18NFormatCleanRe, '').split(dec);\r\n\t\t// } else\r\n\t\t\r\n\t\t\thasComma = formatString.indexOf(',') != -1;\r\n\t\t\tpsplit = formatString.replace(formatCleanRe, '').split('.');\r\n\t\t\r\n\t\tif (psplit.length > 2) {\r\n\t\t\talert(\"对比格式无效\")\r\n\t\t\t// alert(\"瀵规瘮璧锋棤鏁堟牸寮忥紒\");\r\n\t\t\t// </debug>\r\n\t\t} else if (psplit.length > 1) {\r\n\r\n\t\t\tlet precision = psplit[1].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(precision);\r\n\r\n\t\t} else {\r\n\t\t\tlet precision = psplit[0].length || 0;\r\n\t\t\tlet pow = Math.pow(10, precision);\r\n\t\t\tv = Number((Math.round(v * pow) / pow)).toFixed(0);\r\n\t\t}\r\n\r\n\t\tfnum = v.toString();\r\n\r\n\t\tpsplit = fnum.split('.');\r\n\r\n\t\tif (hasComma) {\r\n\t\t\tcnum = psplit[0];\r\n\t\t\tparr = [];\r\n\t\t\tj = cnum.length;\r\n\t\t\tm = Math.floor(j / 3);\r\n\t\t\tn = cnum.length % 3 || 3;\r\n\r\n\t\t\tfor (i = 0; i < j; i += n) {\r\n\t\t\t\tif (i !== 0) {\r\n\t\t\t\t\tn = 3;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparr[parr.length] = cnum.substr(i, n);\r\n\t\t\t\tm -= 1;\r\n\t\t\t}\r\n\t\t\tfnum = parr.join(comma);\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum += dec + psplit[1];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (psplit[1]) {\r\n\t\t\t\tfnum = psplit[0] + dec + psplit[1];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (neg) {\r\n\t\t\tneg = fnum.replace(/[^1-9]/g, '') !== '';\r\n\t\t}\r\n\t\treturn (neg ? '-' : '') + formatString.replace(/[\\d,?\\.?]+/, fnum);\r\n\t}\r\n\r\n}\r\n\r\nexport default NUM","\r\nexport const pinyin = {\r\n 'a': '\\u554a\\u963f\\u9515',\r\n 'ai': '\\u57c3\\u6328\\u54ce\\u5509\\u54c0\\u7691\\u764c\\u853c\\u77ee\\u827e\\u788d\\u7231\\u9698\\u8bf6\\u6371\\u55f3\\u55cc\\u5ad2\\u7477\\u66a7\\u7839\\u953f\\u972d',\r\n 'an': '\\u978d\\u6c28\\u5b89\\u4ffa\\u6309\\u6697\\u5cb8\\u80fa\\u6848\\u8c19\\u57ef\\u63de\\u72b4\\u5eb5\\u6849\\u94f5\\u9e4c\\u9878\\u9eef',\r\n 'ang': '\\u80ae\\u6602\\u76ce',\r\n 'ao': '\\u51f9\\u6556\\u71ac\\u7ff1\\u8884\\u50b2\\u5965\\u61ca\\u6fb3\\u5773\\u62d7\\u55f7\\u5662\\u5c99\\u5ed2\\u9068\\u5aaa\\u9a9c\\u8071\\u87af\\u93ca\\u9ccc\\u93d6',\r\n 'ba': '\\u82ad\\u634c\\u6252\\u53ed\\u5427\\u7b06\\u516b\\u75a4\\u5df4\\u62d4\\u8dcb\\u9776\\u628a\\u8019\\u575d\\u9738\\u7f62\\u7238\\u8307\\u83dd\\u8406\\u636d\\u5c9c\\u705e\\u6777\\u94af\\u7c91\\u9c85\\u9b43',\r\n 'bai': '\\u767d\\u67cf\\u767e\\u6446\\u4f70\\u8d25\\u62dc\\u7a17\\u859c\\u63b0\\u97b4',\r\n 'ban': '\\u6591\\u73ed\\u642c\\u6273\\u822c\\u9881\\u677f\\u7248\\u626e\\u62cc\\u4f34\\u74e3\\u534a\\u529e\\u7eca\\u962a\\u5742\\u8c73\\u94a3\\u7622\\u764d\\u8228',\r\n 'bang': '\\u90a6\\u5e2e\\u6886\\u699c\\u8180\\u7ed1\\u68d2\\u78c5\\u868c\\u9551\\u508d\\u8c24\\u84a1\\u8783',\r\n 'bao': '\\u82de\\u80de\\u5305\\u8912\\u96f9\\u4fdd\\u5821\\u9971\\u5b9d\\u62b1\\u62a5\\u66b4\\u8c79\\u9c8d\\u7206\\u52f9\\u8446\\u5b80\\u5b62\\u7172\\u9e28\\u8913\\u8db5\\u9f85',\r\n 'bo': '\\u5265\\u8584\\u73bb\\u83e0\\u64ad\\u62e8\\u94b5\\u6ce2\\u535a\\u52c3\\u640f\\u94c2\\u7b94\\u4f2f\\u5e1b\\u8236\\u8116\\u818a\\u6e24\\u6cca\\u9a73\\u4eb3\\u8543\\u5575\\u997d\\u6a97\\u64d8\\u7934\\u94b9\\u9e41\\u7c38\\u8ddb',\r\n 'bei': '\\u676f\\u7891\\u60b2\\u5351\\u5317\\u8f88\\u80cc\\u8d1d\\u94a1\\u500d\\u72c8\\u5907\\u60eb\\u7119\\u88ab\\u5b5b\\u9642\\u90b6\\u57e4\\u84d3\\u5457\\u602b\\u6096\\u789a\\u9e4e\\u8919\\u943e',\r\n 'ben': '\\u5954\\u82ef\\u672c\\u7b28\\u755a\\u574c\\u951b',\r\n 'beng': '\\u5d29\\u7ef7\\u752d\\u6cf5\\u8e66\\u8ff8\\u552a\\u5623\\u750f',\r\n 'bi': '\\u903c\\u9f3b\\u6bd4\\u9119\\u7b14\\u5f7c\\u78a7\\u84d6\\u853d\\u6bd5\\u6bd9\\u6bd6\\u5e01\\u5e87\\u75f9\\u95ed\\u655d\\u5f0a\\u5fc5\\u8f9f\\u58c1\\u81c2\\u907f\\u965b\\u5315\\u4ef3\\u4ffe\\u8298\\u835c\\u8378\\u5421\\u54d4\\u72f4\\u5eb3\\u610e\\u6ed7\\u6fde\\u5f3c\\u59a3\\u5a62\\u5b16\\u74a7\\u8d32\\u7540\\u94cb\\u79d5\\u88e8\\u7b5a\\u7b85\\u7be6\\u822d\\u895e\\u8df8\\u9ac0',\r\n 'bian': '\\u97ad\\u8fb9\\u7f16\\u8d2c\\u6241\\u4fbf\\u53d8\\u535e\\u8fa8\\u8fa9\\u8fab\\u904d\\u533e\\u5f01\\u82c4\\u5fed\\u6c74\\u7f0f\\u7178\\u782d\\u78a5\\u7a39\\u7a86\\u8759\\u7b3e\\u9cca',\r\n 'biao': '\\u6807\\u5f6a\\u8198\\u8868\\u5a4a\\u9aa0\\u98d1\\u98d9\\u98da\\u706c\\u9556\\u9573\\u762d\\u88f1\\u9cd4',\r\n 'bie': '\\u9cd6\\u618b\\u522b\\u762a\\u8e69\\u9cd8',\r\n 'bin': '\\u5f6c\\u658c\\u6fd2\\u6ee8\\u5bbe\\u6448\\u50a7\\u6d5c\\u7f24\\u73a2\\u6ba1\\u8191\\u9554\\u9acc\\u9b13',\r\n 'bing': '\\u5175\\u51b0\\u67c4\\u4e19\\u79c9\\u997c\\u70b3\\u75c5\\u5e76\\u7980\\u90b4\\u6452\\u7ee0\\u678b\\u69df\\u71f9',\r\n 'bu': '\\u6355\\u535c\\u54fa\\u8865\\u57e0\\u4e0d\\u5e03\\u6b65\\u7c3f\\u90e8\\u6016\\u62ca\\u535f\\u900b\\u74ff\\u6661\\u949a\\u91ad',\r\n 'ca': '\\u64e6\\u5693\\u7924',\r\n 'cai': '\\u731c\\u88c1\\u6750\\u624d\\u8d22\\u776c\\u8e29\\u91c7\\u5f69\\u83dc\\u8521',\r\n 'can': '\\u9910\\u53c2\\u8695\\u6b8b\\u60ed\\u60e8\\u707f\\u9a96\\u74a8\\u7cb2\\u9eea',\r\n 'cang': '\\u82cd\\u8231\\u4ed3\\u6ca7\\u85cf\\u4f27',\r\n 'cao': '\\u64cd\\u7cd9\\u69fd\\u66f9\\u8349\\u8279\\u5608\\u6f15\\u87ac\\u825a',\r\n 'ce': '\\u5395\\u7b56\\u4fa7\\u518c\\u6d4b\\u5202\\u5e3b\\u607b',\r\n 'ceng': '\\u5c42\\u8e6d\\u564c',\r\n 'cha': '\\u63d2\\u53c9\\u832c\\u8336\\u67e5\\u78b4\\u643d\\u5bdf\\u5c94\\u5dee\\u8be7\\u7339\\u9987\\u6c4a\\u59f9\\u6748\\u6942\\u69ce\\u6aab\\u9497\\u9538\\u9572\\u8869',\r\n 'chai': '\\u62c6\\u67f4\\u8c7a\\u4faa\\u8308\\u7625\\u867f\\u9f87',\r\n 'chan': '\\u6400\\u63ba\\u8749\\u998b\\u8c17\\u7f20\\u94f2\\u4ea7\\u9610\\u98a4\\u5181\\u8c04\\u8c36\\u8487\\u5edb\\u5fcf\\u6f7a\\u6fb6\\u5b71\\u7fbc\\u5a75\\u5b17\\u9aa3\\u89c7\\u7985\\u9561\\u88e3\\u87fe\\u8e94',\r\n 'chang': '\\u660c\\u7316\\u573a\\u5c1d\\u5e38\\u957f\\u507f\\u80a0\\u5382\\u655e\\u7545\\u5531\\u5021\\u4f25\\u9b2f\\u82cc\\u83d6\\u5f9c\\u6005\\u60dd\\u960a\\u5a3c\\u5ae6\\u6636\\u6c05\\u9cb3',\r\n 'chao': '\\u8d85\\u6284\\u949e\\u671d\\u5632\\u6f6e\\u5de2\\u5435\\u7092\\u600a\\u7ec9\\u6641\\u8016',\r\n 'che': '\\u8f66\\u626f\\u64a4\\u63a3\\u5f7b\\u6f88\\u577c\\u5c6e\\u7817',\r\n 'chen': '\\u90f4\\u81e3\\u8fb0\\u5c18\\u6668\\u5ff1\\u6c89\\u9648\\u8d81\\u886c\\u79f0\\u8c0c\\u62bb\\u55d4\\u5bb8\\u741b\\u6987\\u809c\\u80c2\\u789c\\u9f80',\r\n 'cheng': '\\u6491\\u57ce\\u6a59\\u6210\\u5448\\u4e58\\u7a0b\\u60e9\\u6f84\\u8bda\\u627f\\u901e\\u9a8b\\u79e4\\u57d5\\u5d4a\\u5fb5\\u6d48\\u67a8\\u67fd\\u6a18\\u665f\\u584d\\u77a0\\u94d6\\u88ce\\u86cf\\u9172',\r\n 'chi': '\\u5403\\u75f4\\u6301\\u5319\\u6c60\\u8fdf\\u5f1b\\u9a70\\u803b\\u9f7f\\u4f88\\u5c3a\\u8d64\\u7fc5\\u65a5\\u70bd\\u50ba\\u5880\\u82aa\\u830c\\u640b\\u53f1\\u54e7\\u557b\\u55e4\\u5f73\\u996c\\u6cb2\\u5ab8\\u6555\\u80dd\\u7719\\u7735\\u9e31\\u761b\\u892b\\u86a9\\u87ad\\u7b1e\\u7bea\\u8c49\\u8e05\\u8e1f\\u9b51',\r\n 'chong': '\\u5145\\u51b2\\u866b\\u5d07\\u5ba0\\u833a\\u5fe1\\u61a7\\u94f3\\u825f',\r\n 'chou': '\\u62bd\\u916c\\u7574\\u8e0c\\u7a20\\u6101\\u7b79\\u4ec7\\u7ef8\\u7785\\u4e11\\u4fe6\\u5733\\u5e31\\u60c6\\u6eb4\\u59af\\u7633\\u96e0\\u9c8b',\r\n 'chu': '\\u81ed\\u521d\\u51fa\\u6a71\\u53a8\\u8e87\\u9504\\u96cf\\u6ec1\\u9664\\u695a\\u7840\\u50a8\\u77d7\\u6410\\u89e6\\u5904\\u4e8d\\u520d\\u61b7\\u7ecc\\u6775\\u696e\\u6a17\\u870d\\u8e70\\u9edc',\r\n 'chuan': '\\u63e3\\u5ddd\\u7a7f\\u693d\\u4f20\\u8239\\u5598\\u4e32\\u63be\\u821b\\u60f4\\u9044\\u5ddb\\u6c1a\\u948f\\u9569\\u8221',\r\n 'chuang': '\\u75ae\\u7a97\\u5e62\\u5e8a\\u95ef\\u521b\\u6006',\r\n 'chui': '\\u5439\\u708a\\u6376\\u9524\\u5782\\u9672\\u68f0\\u69cc',\r\n 'chun': '\\u6625\\u693f\\u9187\\u5507\\u6df3\\u7eaf\\u8822\\u4fc3\\u83bc\\u6c8c\\u80ab\\u6710\\u9e51\\u877d',\r\n 'chuo': '\\u6233\\u7ef0\\u851f\\u8fb6\\u8f8d\\u955e\\u8e14\\u9f8a',\r\n 'ci': '\\u75b5\\u8328\\u78c1\\u96cc\\u8f9e\\u6148\\u74f7\\u8bcd\\u6b64\\u523a\\u8d50\\u6b21\\u8360\\u5472\\u5d6f\\u9e5a\\u8785\\u7ccd\\u8d91',\r\n 'cong': '\\u806a\\u8471\\u56f1\\u5306\\u4ece\\u4e1b\\u506c\\u82c1\\u6dd9\\u9aa2\\u742e\\u7481\\u679e',\r\n 'cu': '\\u51d1\\u7c97\\u918b\\u7c07\\u731d\\u6b82\\u8e59',\r\n 'cuan': '\\u8e7f\\u7be1\\u7a9c\\u6c46\\u64ba\\u6615\\u7228',\r\n 'cui': '\\u6467\\u5d14\\u50ac\\u8106\\u7601\\u7cb9\\u6dec\\u7fe0\\u8403\\u60b4\\u7480\\u69b1\\u96b9',\r\n 'cun': '\\u6751\\u5b58\\u5bf8\\u78cb\\u5fd6\\u76b4',\r\n 'cuo': '\\u64ae\\u6413\\u63aa\\u632b\\u9519\\u539d\\u811e\\u9509\\u77ec\\u75e4\\u9e7e\\u8e49\\u8e9c',\r\n 'da': '\\u642d\\u8fbe\\u7b54\\u7629\\u6253\\u5927\\u8037\\u54d2\\u55d2\\u601b\\u59b2\\u75b8\\u8921\\u7b2a\\u977c\\u9791',\r\n 'dai': '\\u5446\\u6b79\\u50a3\\u6234\\u5e26\\u6b86\\u4ee3\\u8d37\\u888b\\u5f85\\u902e\\u6020\\u57ed\\u7519\\u5454\\u5cb1\\u8fe8\\u902f\\u9a80\\u7ed0\\u73b3\\u9edb',\r\n 'dan': '\\u803d\\u62c5\\u4e39\\u5355\\u90f8\\u63b8\\u80c6\\u65e6\\u6c2e\\u4f46\\u60ee\\u6de1\\u8bde\\u5f39\\u86cb\\u4ebb\\u510b\\u5369\\u840f\\u5556\\u6fb9\\u6a90\\u6b9a\\u8d55\\u7708\\u7605\\u8043\\u7baa',\r\n 'dang': '\\u5f53\\u6321\\u515a\\u8361\\u6863\\u8c20\\u51fc\\u83ea\\u5b95\\u7800\\u94db\\u88c6',\r\n 'dao': '\\u5200\\u6363\\u8e48\\u5012\\u5c9b\\u7977\\u5bfc\\u5230\\u7a3b\\u60bc\\u9053\\u76d7\\u53e8\\u5541\\u5fc9\\u6d2e\\u6c18\\u7118\\u5fd1\\u7e9b',\r\n 'de': '\\u5fb7\\u5f97\\u7684\\u951d',\r\n 'deng': '\\u8e6c\\u706f\\u767b\\u7b49\\u77aa\\u51f3\\u9093\\u5654\\u5d9d\\u6225\\u78f4\\u956b\\u7c26',\r\n 'di': '\\u5824\\u4f4e\\u6ef4\\u8fea\\u654c\\u7b1b\\u72c4\\u6da4\\u7fdf\\u5ae1\\u62b5\\u5e95\\u5730\\u8482\\u7b2c\\u5e1d\\u5f1f\\u9012\\u7f14\\u6c10\\u7c74\\u8bcb\\u8c1b\\u90b8\\u577b\\u839c\\u837b\\u5600\\u5a23\\u67e2\\u68e3\\u89cc\\u7825\\u78b2\\u7747\\u955d\\u7f9d\\u9ab6',\r\n 'dian': '\\u98a0\\u6382\\u6ec7\\u7898\\u70b9\\u5178\\u975b\\u57ab\\u7535\\u4f43\\u7538\\u5e97\\u60e6\\u5960\\u6dc0\\u6bbf\\u4e36\\u963d\\u576b\\u57dd\\u5dc5\\u73b7\\u765c\\u766b\\u7c1f\\u8e2e',\r\n 'diao': '\\u7889\\u53fc\\u96d5\\u51cb\\u5201\\u6389\\u540a\\u9493\\u8c03\\u8f7a\\u94de\\u8729\\u7c9c\\u8c82',\r\n 'die': '\\u8dcc\\u7239\\u789f\\u8776\\u8fed\\u8c0d\\u53e0\\u4f5a\\u57a4\\u581e\\u63f2\\u558b\\u6e2b\\u8f76\\u7252\\u74de\\u8936\\u800b\\u8e40\\u9cbd\\u9cce',\r\n 'ding': '\\u4e01\\u76ef\\u53ee\\u9489\\u9876\\u9f0e\\u952d\\u5b9a\\u8ba2\\u4e22\\u4ec3\\u5576\\u738e\\u815a\\u7887\\u753a\\u94e4\\u7594\\u8035\\u914a',\r\n 'dong': '\\u4e1c\\u51ac\\u8463\\u61c2\\u52a8\\u680b\\u4f97\\u606b\\u51bb\\u6d1e\\u578c\\u549a\\u5cbd\\u5cd2\\u5902\\u6c21\\u80e8\\u80f4\\u7850\\u9e2b',\r\n 'dou': '\\u515c\\u6296\\u6597\\u9661\\u8c46\\u9017\\u75d8\\u8538\\u94ad\\u7aa6\\u7aac\\u86aa\\u7bfc\\u9161',\r\n 'du': '\\u90fd\\u7763\\u6bd2\\u728a\\u72ec\\u8bfb\\u5835\\u7779\\u8d4c\\u675c\\u9540\\u809a\\u5ea6\\u6e21\\u5992\\u828f\\u561f\\u6e0e\\u691f\\u6a50\\u724d\\u8839\\u7b03\\u9ad1\\u9ee9',\r\n 'duan': '\\u7aef\\u77ed\\u953b\\u6bb5\\u65ad\\u7f0e\\u5f56\\u6934\\u7145\\u7c16',\r\n 'dui': '\\u5806\\u5151\\u961f\\u5bf9\\u603c\\u619d\\u7893',\r\n 'dun': '\\u58a9\\u5428\\u8e72\\u6566\\u987f\\u56e4\\u949d\\u76fe\\u9041\\u7096\\u7818\\u7905\\u76f9\\u9566\\u8db8',\r\n 'duo': '\\u6387\\u54c6\\u591a\\u593a\\u579b\\u8eb2\\u6735\\u8dfa\\u8235\\u5241\\u60f0\\u5815\\u5484\\u54da\\u7f0d\\u67c1\\u94ce\\u88f0\\u8e31',\r\n 'e': '\\u86fe\\u5ce8\\u9e45\\u4fc4\\u989d\\u8bb9\\u5a25\\u6076\\u5384\\u627c\\u904f\\u9102\\u997f\\u5669\\u8c14\\u57a9\\u57ad\\u82ca\\u83aa\\u843c\\u5443\\u6115\\u5c59\\u5a40\\u8f6d\\u66f7\\u816d\\u786a\\u9507\\u9537\\u9e57\\u989a\\u9cc4',\r\n 'en': '\\u6069\\u84bd\\u6441\\u5514\\u55ef',\r\n 'er': '\\u800c\\u513f\\u8033\\u5c14\\u9975\\u6d31\\u4e8c\\u8d30\\u8fe9\\u73e5\\u94d2\\u9e38\\u9c95',\r\n 'fa': '\\u53d1\\u7f5a\\u7b4f\\u4f10\\u4e4f\\u9600\\u6cd5\\u73d0\\u57a1\\u781d',\r\n 'fan': '\\u85e9\\u5e06\\u756a\\u7ffb\\u6a0a\\u77fe\\u9492\\u7e41\\u51e1\\u70e6\\u53cd\\u8fd4\\u8303\\u8d29\\u72af\\u996d\\u6cdb\\u8629\\u5e61\\u72ad\\u68b5\\u6535\\u71d4\\u7548\\u8e6f',\r\n 'fang': '\\u574a\\u82b3\\u65b9\\u80aa\\u623f\\u9632\\u59a8\\u4eff\\u8bbf\\u7eba\\u653e\\u531a\\u90a1\\u5f77\\u94ab\\u822b\\u9c82',\r\n 'fei': '\\u83f2\\u975e\\u5561\\u98de\\u80a5\\u532a\\u8bfd\\u5420\\u80ba\\u5e9f\\u6cb8\\u8d39\\u82be\\u72d2\\u60b1\\u6ddd\\u5983\\u7ecb\\u7eef\\u69a7\\u8153\\u6590\\u6249\\u7953\\u7829\\u9544\\u75f1\\u871a\\u7bda\\u7fe1\\u970f\\u9cb1',\r\n 'fen': '\\u82ac\\u915a\\u5429\\u6c1b\\u5206\\u7eb7\\u575f\\u711a\\u6c7e\\u7c89\\u594b\\u4efd\\u5fff\\u6124\\u7caa\\u507e\\u7035\\u68fc\\u610d\\u9cbc\\u9f22',\r\n 'feng': '\\u4e30\\u5c01\\u67ab\\u8702\\u5cf0\\u950b\\u98ce\\u75af\\u70fd\\u9022\\u51af\\u7f1d\\u8bbd\\u5949\\u51e4\\u4ff8\\u9146\\u8451\\u6ca3\\u781c',\r\n 'fu': '\\u4f5b\\u5426\\u592b\\u6577\\u80a4\\u5b75\\u6276\\u62c2\\u8f90\\u5e45\\u6c1f\\u7b26\\u4f0f\\u4fd8\\u670d\\u6d6e\\u6daa\\u798f\\u88b1\\u5f17\\u752b\\u629a\\u8f85\\u4fef\\u91dc\\u65a7\\u812f\\u8151\\u5e9c\\u8150\\u8d74\\u526f\\u8986\\u8d4b\\u590d\\u5085\\u4ed8\\u961c\\u7236\\u8179\\u8d1f\\u5bcc\\u8ba3\\u9644\\u5987\\u7f1a\\u5490\\u5310\\u51eb\\u90db\\u8299\\u82fb\\u832f\\u83a9\\u83d4\\u544b\\u5e5e\\u6ecf\\u8274\\u5b5a\\u9a78\\u7ec2\\u6874\\u8d59\\u9efb\\u9efc\\u7f58\\u7a03\\u99a5\\u864d\\u86a8\\u8709\\u8760\\u876e\\u9eb8\\u8dba\\u8dd7\\u9cc6',\r\n 'ga': '\\u5676\\u560e\\u86e4\\u5c2c\\u5477\\u5c15\\u5c1c\\u65ee\\u9486',\r\n 'gai': '\\u8be5\\u6539\\u6982\\u9499\\u76d6\\u6e89\\u4e10\\u9654\\u5793\\u6224\\u8d45\\u80f2',\r\n 'gan': '\\u5e72\\u7518\\u6746\\u67d1\\u7aff\\u809d\\u8d76\\u611f\\u79c6\\u6562\\u8d63\\u5769\\u82f7\\u5c34\\u64c0\\u6cd4\\u6de6\\u6f89\\u7ec0\\u6a44\\u65f0\\u77f8\\u75b3\\u9150',\r\n 'gang': '\\u5188\\u521a\\u94a2\\u7f38\\u809b\\u7eb2\\u5c97\\u6e2f\\u6206\\u7f61\\u9883\\u7b7b',\r\n 'gong': '\\u6760\\u5de5\\u653b\\u529f\\u606d\\u9f9a\\u4f9b\\u8eac\\u516c\\u5bab\\u5f13\\u5de9\\u6c5e\\u62f1\\u8d21\\u5171\\u857b\\u5efe\\u54a3\\u73d9\\u80b1\\u86a3\\u86e9\\u89e5',\r\n 'gao': '\\u7bd9\\u768b\\u9ad8\\u818f\\u7f94\\u7cd5\\u641e\\u9550\\u7a3f\\u544a\\u777e\\u8bf0\\u90dc\\u84bf\\u85c1\\u7f1f\\u69d4\\u69c1\\u6772\\u9506',\r\n 'ge': '\\u54e5\\u6b4c\\u6401\\u6208\\u9e3d\\u80f3\\u7599\\u5272\\u9769\\u845b\\u683c\\u9601\\u9694\\u94ec\\u4e2a\\u5404\\u9b32\\u4ee1\\u54ff\\u5865\\u55dd\\u7ea5\\u643f\\u8188\\u784c\\u94ea\\u9549\\u88bc\\u988c\\u867c\\u8238\\u9abc\\u9ac2',\r\n 'gei': '\\u7ed9',\r\n 'gen': '\\u6839\\u8ddf\\u4e98\\u831b\\u54cf\\u826e',\r\n 'geng': '\\u8015\\u66f4\\u5e9a\\u7fb9\\u57c2\\u803f\\u6897\\u54fd\\u8d53\\u9ca0',\r\n 'gou': '\\u94a9\\u52fe\\u6c9f\\u82df\\u72d7\\u57a2\\u6784\\u8d2d\\u591f\\u4f5d\\u8bdf\\u5ca3\\u9058\\u5abe\\u7f11\\u89cf\\u5f40\\u9e32\\u7b31\\u7bdd\\u97b2',\r\n 'gu': '\\u8f9c\\u83c7\\u5495\\u7b8d\\u4f30\\u6cbd\\u5b64\\u59d1\\u9f13\\u53e4\\u86ca\\u9aa8\\u8c37\\u80a1\\u6545\\u987e\\u56fa\\u96c7\\u560f\\u8bc2\\u83f0\\u54cc\\u5d2e\\u6c69\\u688f\\u8f71\\u726f\\u727f\\u80cd\\u81cc\\u6bc2\\u77bd\\u7f5f\\u94b4\\u9522\\u74e0\\u9e2a\\u9e44\\u75fc\\u86c4\\u9164\\u89da\\u9cb4\\u9ab0\\u9e58',\r\n 'gua': '\\u522e\\u74dc\\u5250\\u5be1\\u6302\\u8902\\u5366\\u8bd6\\u5471\\u681d\\u9e39',\r\n 'guai': '\\u4e56\\u62d0\\u602a\\u54d9',\r\n 'guan': '\\u68fa\\u5173\\u5b98\\u51a0\\u89c2\\u7ba1\\u9986\\u7f50\\u60ef\\u704c\\u8d2f\\u500c\\u839e\\u63bc\\u6dab\\u76e5\\u9e73\\u9ccf',\r\n 'guang': '\\u5149\\u5e7f\\u901b\\u72b7\\u6844\\u80f1\\u7592',\r\n 'gui': '\\u7470\\u89c4\\u572d\\u7845\\u5f52\\u9f9f\\u95fa\\u8f68\\u9b3c\\u8be1\\u7678\\u6842\\u67dc\\u8dea\\u8d35\\u523d\\u5326\\u523f\\u5e8b\\u5b84\\u59ab\\u6867\\u7085\\u6677\\u7688\\u7c0b\\u9c91\\u9cdc',\r\n 'gun': '\\u8f8a\\u6eda\\u68cd\\u4e28\\u886e\\u7ef2\\u78d9\\u9ca7',\r\n 'guo': '\\u9505\\u90ed\\u56fd\\u679c\\u88f9\\u8fc7\\u9998\\u8803\\u57da\\u63b4\\u5459\\u56d7\\u5e3c\\u5d1e\\u7313\\u6901\\u8662\\u951e\\u8052\\u872e\\u873e\\u8748',\r\n 'ha': '\\u54c8',\r\n 'hai': '\\u9ab8\\u5b69\\u6d77\\u6c26\\u4ea5\\u5bb3\\u9a87\\u54b4\\u55e8\\u988f\\u91a2',\r\n 'han': '\\u9163\\u61a8\\u90af\\u97e9\\u542b\\u6db5\\u5bd2\\u51fd\\u558a\\u7f55\\u7ff0\\u64bc\\u634d\\u65f1\\u61be\\u608d\\u710a\\u6c57\\u6c49\\u9097\\u83e1\\u6496\\u961a\\u701a\\u6657\\u7113\\u9894\\u86b6\\u9f3e',\r\n 'hen': '\\u592f\\u75d5\\u5f88\\u72e0\\u6068',\r\n 'hang': '\\u676d\\u822a\\u6c86\\u7ed7\\u73e9\\u6841',\r\n 'hao': '\\u58d5\\u568e\\u8c6a\\u6beb\\u90dd\\u597d\\u8017\\u53f7\\u6d69\\u8585\\u55e5\\u5686\\u6fe0\\u704f\\u660a\\u7693\\u98a2\\u869d',\r\n 'he': '\\u5475\\u559d\\u8377\\u83cf\\u6838\\u79be\\u548c\\u4f55\\u5408\\u76d2\\u8c89\\u9602\\u6cb3\\u6db8\\u8d6b\\u8910\\u9e64\\u8d3a\\u8bc3\\u52be\\u58d1\\u85ff\\u55d1\\u55ec\\u9616\\u76cd\\u86b5\\u7fee',\r\n 'hei': '\\u563f\\u9ed1',\r\n 'heng': '\\u54fc\\u4ea8\\u6a2a\\u8861\\u6052\\u8a07\\u8605',\r\n 'hong': '\\u8f70\\u54c4\\u70d8\\u8679\\u9e3f\\u6d2a\\u5b8f\\u5f18\\u7ea2\\u9ec9\\u8ba7\\u836d\\u85a8\\u95f3\\u6cd3',\r\n 'hou': '\\u5589\\u4faf\\u7334\\u543c\\u539a\\u5019\\u540e\\u5820\\u5f8c\\u9005\\u760a\\u7bcc\\u7cc7\\u9c8e\\u9aba',\r\n 'hu': '\\u547c\\u4e4e\\u5ffd\\u745a\\u58f6\\u846b\\u80e1\\u8774\\u72d0\\u7cca\\u6e56\\u5f27\\u864e\\u552c\\u62a4\\u4e92\\u6caa\\u6237\\u51b1\\u553f\\u56eb\\u5cb5\\u7322\\u6019\\u60da\\u6d52\\u6ef9\\u7425\\u69f2\\u8f77\\u89f3\\u70c0\\u7173\\u623d\\u6248\\u795c\\u9e55\\u9e71\\u7b0f\\u9190\\u659b',\r\n 'hua': '\\u82b1\\u54d7\\u534e\\u733e\\u6ed1\\u753b\\u5212\\u5316\\u8bdd\\u5290\\u6d4d\\u9a85\\u6866\\u94e7\\u7a1e',\r\n 'huai': '\\u69d0\\u5f8a\\u6000\\u6dee\\u574f\\u8fd8\\u8e1d',\r\n 'huan': '\\u6b22\\u73af\\u6853\\u7f13\\u6362\\u60a3\\u5524\\u75ea\\u8c62\\u7115\\u6da3\\u5ba6\\u5e7b\\u90c7\\u5942\\u57b8\\u64d0\\u571c\\u6d39\\u6d63\\u6f36\\u5bf0\\u902d\\u7f33\\u953e\\u9ca9\\u9b1f',\r\n 'huang': '\\u8352\\u614c\\u9ec4\\u78fa\\u8757\\u7c27\\u7687\\u51f0\\u60f6\\u714c\\u6643\\u5e4c\\u604d\\u8c0e\\u968d\\u5fa8\\u6e5f\\u6f62\\u9051\\u749c\\u8093\\u7640\\u87e5\\u7bc1\\u9cc7',\r\n 'hui': '\\u7070\\u6325\\u8f89\\u5fbd\\u6062\\u86d4\\u56de\\u6bc1\\u6094\\u6167\\u5349\\u60e0\\u6666\\u8d3f\\u79fd\\u4f1a\\u70e9\\u6c47\\u8bb3\\u8bf2\\u7ed8\\u8bd9\\u8334\\u835f\\u8559\\u54d5\\u5599\\u96b3\\u6d04\\u5f57\\u7f0b\\u73f2\\u6656\\u605a\\u867a\\u87ea\\u9ebe',\r\n 'hun': '\\u8364\\u660f\\u5a5a\\u9b42\\u6d51\\u6df7\\u8be8\\u9984\\u960d\\u6eb7\\u7f17',\r\n 'huo': '\\u8c41\\u6d3b\\u4f19\\u706b\\u83b7\\u6216\\u60d1\\u970d\\u8d27\\u7978\\u6509\\u56af\\u5925\\u94ac\\u952a\\u956c\\u8020\\u8816',\r\n 'ji': '\\u51fb\\u573e\\u57fa\\u673a\\u7578\\u7a3d\\u79ef\\u7b95\\u808c\\u9965\\u8ff9\\u6fc0\\u8ba5\\u9e21\\u59ec\\u7ee9\\u7f09\\u5409\\u6781\\u68d8\\u8f91\\u7c4d\\u96c6\\u53ca\\u6025\\u75be\\u6c72\\u5373\\u5ac9\\u7ea7\\u6324\\u51e0\\u810a\\u5df1\\u84df\\u6280\\u5180\\u5b63\\u4f0e\\u796d\\u5242\\u60b8\\u6d4e\\u5bc4\\u5bc2\\u8ba1\\u8bb0\\u65e2\\u5fcc\\u9645\\u5993\\u7ee7\\u7eaa\\u5c45\\u4e0c\\u4e69\\u525e\\u4f76\\u4f74\\u8114\\u58bc\\u82a8\\u82b0\\u8401\\u84ba\\u857a\\u638e\\u53fd\\u54ad\\u54dc\\u5527\\u5c8c\\u5d74\\u6d0e\\u5f50\\u5c50\\u9aa5\\u757f\\u7391\\u696b\\u6b9b\\u621f\\u6222\\u8d4d\\u89ca\\u7284\\u9f51\\u77f6\\u7f81\\u5d47\\u7a37\\u7620\\u7635\\u866e\\u7b08\\u7b04\\u66a8\\u8dfb\\u8dfd\\u9701\\u9c9a\\u9cab\\u9afb\\u9e82',\r\n 'jia': '\\u5609\\u67b7\\u5939\\u4f73\\u5bb6\\u52a0\\u835a\\u988a\\u8d3e\\u7532\\u94be\\u5047\\u7a3c\\u4ef7\\u67b6\\u9a7e\\u5ac1\\u4f3d\\u90cf\\u62ee\\u5cac\\u6d43\\u8fe6\\u73c8\\u621b\\u80db\\u605d\\u94d7\\u9553\\u75c2\\u86f1\\u7b33\\u8888\\u8dcf',\r\n 'jian': '\\u6b7c\\u76d1\\u575a\\u5c16\\u7b3a\\u95f4\\u714e\\u517c\\u80a9\\u8270\\u5978\\u7f04\\u8327\\u68c0\\u67ec\\u78b1\\u7877\\u62e3\\u6361\\u7b80\\u4fed\\u526a\\u51cf\\u8350\\u69db\\u9274\\u8df5\\u8d31\\u89c1\\u952e\\u7bad\\u4ef6\\u5065\\u8230\\u5251\\u996f\\u6e10\\u6e85\\u6da7\\u5efa\\u50ed\\u8c0f\\u8c2b\\u83c5\\u84b9\\u641b\\u56dd\\u6e54\\u8e47\\u8b07\\u7f23\\u67a7\\u67d9\\u6957\\u620b\\u622c\\u726e\\u728d\\u6bfd\\u8171\\u7751\\u950f\\u9e63\\u88e5\\u7b15\\u7bb4\\u7fe6\\u8dbc\\u8e3a\\u9ca3\\u97af',\r\n 'jiang': '\\u50f5\\u59dc\\u5c06\\u6d46\\u6c5f\\u7586\\u848b\\u6868\\u5956\\u8bb2\\u5320\\u9171\\u964d\\u8333\\u6d1a\\u7edb\\u7f30\\u729f\\u7913\\u8029\\u7ce8\\u8c47',\r\n 'jiao': '\\u8549\\u6912\\u7901\\u7126\\u80f6\\u4ea4\\u90ca\\u6d47\\u9a84\\u5a07\\u56bc\\u6405\\u94f0\\u77eb\\u4fa5\\u811a\\u72e1\\u89d2\\u997a\\u7f34\\u7ede\\u527f\\u6559\\u9175\\u8f7f\\u8f83\\u53eb\\u4f7c\\u50ec\\u832d\\u6322\\u564d\\u5ce4\\u5fbc\\u59e3\\u7e9f\\u656b\\u768e\\u9e6a\\u86df\\u91ae\\u8de4\\u9c9b',\r\n 'jie': '\\u7a96\\u63ed\\u63a5\\u7686\\u79f8\\u8857\\u9636\\u622a\\u52ab\\u8282\\u6854\\u6770\\u6377\\u776b\\u7aed\\u6d01\\u7ed3\\u89e3\\u59d0\\u6212\\u85c9\\u82a5\\u754c\\u501f\\u4ecb\\u75a5\\u8beb\\u5c4a\\u5048\\u8ba6\\u8bd8\\u5588\\u55df\\u736c\\u5a55\\u5b51\\u6840\\u7352\\u78a3\\u9534\\u7596\\u88b7\\u9889\\u86a7\\u7faf\\u9c92\\u9ab1\\u9aeb',\r\n 'jin': '\\u5dfe\\u7b4b\\u65a4\\u91d1\\u4eca\\u6d25\\u895f\\u7d27\\u9526\\u4ec5\\u8c28\\u8fdb\\u9773\\u664b\\u7981\\u8fd1\\u70ec\\u6d78\\u5c3d\\u537a\\u8369\\u5807\\u5664\\u9991\\u5ed1\\u5997\\u7f19\\u747e\\u69ff\\u8d46\\u89d0\\u9485\\u9513\\u887f\\u77dc',\r\n 'jing': '\\u52b2\\u8346\\u5162\\u830e\\u775b\\u6676\\u9cb8\\u4eac\\u60ca\\u7cbe\\u7cb3\\u7ecf\\u4e95\\u8b66\\u666f\\u9888\\u9759\\u5883\\u656c\\u955c\\u5f84\\u75c9\\u9756\\u7adf\\u7ade\\u51c0\\u522d\\u5106\\u9631\\u83c1\\u734d\\u61ac\\u6cfe\\u8ff3\\u5f2a\\u5a67\\u80bc\\u80eb\\u8148\\u65cc',\r\n 'jiong': '\\u70af\\u7a98\\u5182\\u8fe5\\u6243',\r\n 'jiu': '\\u63ea\\u7a76\\u7ea0\\u7396\\u97ed\\u4e45\\u7078\\u4e5d\\u9152\\u53a9\\u6551\\u65e7\\u81fc\\u8205\\u548e\\u5c31\\u759a\\u50e6\\u557e\\u9604\\u67e9\\u6855\\u9e6b\\u8d73\\u9b0f',\r\n 'ju': '\\u97a0\\u62d8\\u72d9\\u75bd\\u9a79\\u83ca\\u5c40\\u5480\\u77e9\\u4e3e\\u6cae\\u805a\\u62d2\\u636e\\u5de8\\u5177\\u8ddd\\u8e1e\\u952f\\u4ff1\\u53e5\\u60e7\\u70ac\\u5267\\u5028\\u8bb5\\u82e3\\u82f4\\u8392\\u63ac\\u907d\\u5c66\\u741a\\u67b8\\u6910\\u6998\\u6989\\u6a58\\u728b\\u98d3\\u949c\\u9514\\u7aad\\u88fe\\u8d84\\u91b5\\u8e3d\\u9f83\\u96ce\\u97ab',\r\n 'juan': '\\u6350\\u9e43\\u5a1f\\u5026\\u7737\\u5377\\u7ee2\\u9104\\u72f7\\u6d93\\u684a\\u8832\\u9529\\u954c\\u96bd',\r\n 'jue': '\\u6485\\u652b\\u6289\\u6398\\u5014\\u7235\\u89c9\\u51b3\\u8bc0\\u7edd\\u53a5\\u5282\\u8c32\\u77cd\\u8568\\u5658\\u5d1b\\u7357\\u5b53\\u73cf\\u6877\\u6a5b\\u721d\\u9562\\u8e76\\u89d6',\r\n 'jun': '\\u5747\\u83cc\\u94a7\\u519b\\u541b\\u5cfb\\u4fca\\u7ae3\\u6d5a\\u90e1\\u9a8f\\u6343\\u72fb\\u76b2\\u7b60\\u9e87',\r\n 'ka': '\\u5580\\u5496\\u5361\\u4f67\\u5494\\u80e9',\r\n 'ke': '\\u54af\\u5777\\u82db\\u67ef\\u68f5\\u78d5\\u9897\\u79d1\\u58f3\\u54b3\\u53ef\\u6e34\\u514b\\u523b\\u5ba2\\u8bfe\\u5ca2\\u606a\\u6e98\\u9a92\\u7f02\\u73c2\\u8f72\\u6c2a\\u778c\\u94b6\\u75b4\\u7aa0\\u874c\\u9ac1',\r\n 'kai': '\\u5f00\\u63e9\\u6977\\u51ef\\u6168\\u5240\\u57b2\\u8488\\u5ffe\\u607a\\u94e0\\u950e',\r\n 'kan': '\\u520a\\u582a\\u52d8\\u574e\\u780d\\u770b\\u4f83\\u51f5\\u83b0\\u83b6\\u6221\\u9f9b\\u77b0',\r\n 'kang': '\\u5eb7\\u6177\\u7ce0\\u625b\\u6297\\u4ea2\\u7095\\u5751\\u4f09\\u95f6\\u94aa',\r\n 'kao': '\\u8003\\u62f7\\u70e4\\u9760\\u5c3b\\u6832\\u7292\\u94d0',\r\n 'ken': '\\u80af\\u5543\\u57a6\\u6073\\u57a0\\u88c9\\u9880',\r\n 'keng': '\\u542d\\u5fd0\\u94ff',\r\n 'kong': '\\u7a7a\\u6050\\u5b54\\u63a7\\u5025\\u5d06\\u7b9c',\r\n 'kou': '\\u62a0\\u53e3\\u6263\\u5bc7\\u82a4\\u853b\\u53e9\\u770d\\u7b58',\r\n 'ku': '\\u67af\\u54ed\\u7a9f\\u82e6\\u9177\\u5e93\\u88e4\\u5233\\u5800\\u55be\\u7ed4\\u9ab7',\r\n 'kua': '\\u5938\\u57ae\\u630e\\u8de8\\u80ef\\u4f89',\r\n 'kuai': '\\u5757\\u7b77\\u4fa9\\u5feb\\u84af\\u90d0\\u8489\\u72ef\\u810d',\r\n 'kuan': '\\u5bbd\\u6b3e\\u9acb',\r\n 'kuang': '\\u5321\\u7b50\\u72c2\\u6846\\u77ff\\u7736\\u65f7\\u51b5\\u8bd3\\u8bf3\\u909d\\u5739\\u593c\\u54d0\\u7ea9\\u8d36',\r\n 'kui': '\\u4e8f\\u76d4\\u5cbf\\u7aa5\\u8475\\u594e\\u9b41\\u5080\\u9988\\u6127\\u6e83\\u9997\\u532e\\u5914\\u9697\\u63c6\\u55b9\\u559f\\u609d\\u6126\\u9615\\u9035\\u668c\\u777d\\u8069\\u8770\\u7bd1\\u81fe\\u8dec',\r\n 'kun': '\\u5764\\u6606\\u6346\\u56f0\\u6083\\u9603\\u7428\\u951f\\u918c\\u9cb2\\u9ae1',\r\n 'kuo': '\\u62ec\\u6269\\u5ed3\\u9614\\u86de',\r\n 'la': '\\u5783\\u62c9\\u5587\\u8721\\u814a\\u8fa3\\u5566\\u524c\\u647a\\u908b\\u65ef\\u782c\\u760c',\r\n 'lai': '\\u83b1\\u6765\\u8d56\\u5d03\\u5f95\\u6d9e\\u6fd1\\u8d49\\u7750\\u94fc\\u765e\\u7c41',\r\n 'lan': '\\u84dd\\u5a6a\\u680f\\u62e6\\u7bee\\u9611\\u5170\\u6f9c\\u8c30\\u63fd\\u89c8\\u61d2\\u7f06\\u70c2\\u6ee5\\u5549\\u5c9a\\u61d4\\u6f24\\u6984\\u6593\\u7f71\\u9567\\u8934',\r\n 'lang': '\\u7405\\u6994\\u72fc\\u5eca\\u90ce\\u6717\\u6d6a\\u83a8\\u8497\\u5577\\u9606\\u9512\\u7a02\\u8782',\r\n 'lao': '\\u635e\\u52b3\\u7262\\u8001\\u4f6c\\u59e5\\u916a\\u70d9\\u6d9d\\u5520\\u5d02\\u6833\\u94d1\\u94f9\\u75e8\\u91aa',\r\n 'le': '\\u52d2\\u4e50\\u808b\\u4ec2\\u53fb\\u561e\\u6cd0\\u9cd3',\r\n 'lei': '\\u96f7\\u956d\\u857e\\u78ca\\u7d2f\\u5121\\u5792\\u64c2\\u7c7b\\u6cea\\u7fb8\\u8bd4\\u837d\\u54a7\\u6f2f\\u5ad8\\u7f27\\u6a91\\u8012\\u9179',\r\n 'ling': '\\u68f1\\u51b7\\u62ce\\u73b2\\u83f1\\u96f6\\u9f84\\u94c3\\u4f36\\u7f9a\\u51cc\\u7075\\u9675\\u5cad\\u9886\\u53e6\\u4ee4\\u9143\\u5844\\u82d3\\u5464\\u56f9\\u6ce0\\u7eeb\\u67c3\\u68c2\\u74f4\\u8046\\u86c9\\u7fce\\u9cae',\r\n 'leng': '\\u695e\\u6123',\r\n 'li': '\\u5398\\u68a8\\u7281\\u9ece\\u7bf1\\u72f8\\u79bb\\u6f13\\u7406\\u674e\\u91cc\\u9ca4\\u793c\\u8389\\u8354\\u540f\\u6817\\u4e3d\\u5389\\u52b1\\u783e\\u5386\\u5229\\u5088\\u4f8b\\u4fd0\\u75e2\\u7acb\\u7c92\\u6ca5\\u96b6\\u529b\\u7483\\u54e9\\u4fea\\u4fda\\u90e6\\u575c\\u82c8\\u8385\\u84e0\\u85dc\\u6369\\u5456\\u5533\\u55b1\\u7301\\u6ea7\\u6fa7\\u9026\\u5a0c\\u5ae0\\u9a8a\\u7f21\\u73de\\u67a5\\u680e\\u8f79\\u623e\\u783a\\u8a48\\u7f79\\u9502\\u9e42\\u75a0\\u75ac\\u86ce\\u870a\\u8821\\u7b20\\u7be5\\u7c9d\\u91b4\\u8dde\\u96f3\\u9ca1\\u9ce2\\u9ee7',\r\n 'lian': '\\u4fe9\\u8054\\u83b2\\u8fde\\u9570\\u5ec9\\u601c\\u6d9f\\u5e18\\u655b\\u8138\\u94fe\\u604b\\u70bc\\u7ec3\\u631b\\u8539\\u5941\\u6f4b\\u6fc2\\u5a08\\u740f\\u695d\\u6b93\\u81c1\\u81a6\\u88e2\\u880a\\u9ca2',\r\n 'liang': '\\u7cae\\u51c9\\u6881\\u7cb1\\u826f\\u4e24\\u8f86\\u91cf\\u667e\\u4eae\\u8c05\\u589a\\u690b\\u8e09\\u9753\\u9b49',\r\n 'liao': '\\u64a9\\u804a\\u50da\\u7597\\u71ce\\u5be5\\u8fbd\\u6f66\\u4e86\\u6482\\u9563\\u5ed6\\u6599\\u84fc\\u5c25\\u5639\\u7360\\u5bee\\u7f2d\\u948c\\u9e69\\u8022',\r\n 'lie': '\\u5217\\u88c2\\u70c8\\u52a3\\u730e\\u51bd\\u57d2\\u6d0c\\u8d94\\u8e90\\u9b23',\r\n 'lin': '\\u7433\\u6797\\u78f7\\u9716\\u4e34\\u90bb\\u9cde\\u6dcb\\u51db\\u8d41\\u541d\\u853a\\u5d99\\u5eea\\u9074\\u6aa9\\u8f9a\\u77b5\\u7cbc\\u8e8f\\u9e9f',\r\n 'liu': '\\u6e9c\\u7409\\u69b4\\u786b\\u998f\\u7559\\u5218\\u7624\\u6d41\\u67f3\\u516d\\u62a1\\u507b\\u848c\\u6cd6\\u6d4f\\u905b\\u9a9d\\u7efa\\u65d2\\u7198\\u950d\\u954f\\u9e68\\u938f',\r\n 'long': '\\u9f99\\u804b\\u5499\\u7b3c\\u7abf\\u9686\\u5784\\u62e2\\u9647\\u5f04\\u5785\\u830f\\u6cf7\\u73d1\\u680a\\u80e7\\u783b\\u7643',\r\n 'lou': '\\u697c\\u5a04\\u6402\\u7bd3\\u6f0f\\u964b\\u55bd\\u5d5d\\u9542\\u7618\\u8027\\u877c\\u9ac5',\r\n 'lu': '\\u82a6\\u5362\\u9885\\u5e90\\u7089\\u63b3\\u5364\\u864f\\u9c81\\u9e93\\u788c\\u9732\\u8def\\u8d42\\u9e7f\\u6f5e\\u7984\\u5f55\\u9646\\u622e\\u5786\\u6445\\u64b8\\u565c\\u6cf8\\u6e0c\\u6f09\\u7490\\u680c\\u6a79\\u8f73\\u8f82\\u8f98\\u6c07\\u80ea\\u9565\\u9e2c\\u9e6d\\u7c0f\\u823b\\u9c88',\r\n 'lv': '\\u9a74\\u5415\\u94dd\\u4fa3\\u65c5\\u5c65\\u5c61\\u7f15\\u8651\\u6c2f\\u5f8b\\u7387\\u6ee4\\u7eff\\u634b\\u95fe\\u6988\\u8182\\u7a06\\u891b',\r\n 'luan': '\\u5ce6\\u5b6a\\u6ee6\\u5375\\u4e71\\u683e\\u9e3e\\u92ae',\r\n 'lue': '\\u63a0\\u7565\\u950a',\r\n 'lun': '\\u8f6e\\u4f26\\u4ed1\\u6ca6\\u7eb6\\u8bba\\u56f5',\r\n 'luo': '\\u841d\\u87ba\\u7f57\\u903b\\u9523\\u7ba9\\u9aa1\\u88f8\\u843d\\u6d1b\\u9a86\\u7edc\\u502e\\u8366\\u645e\\u7321\\u6cfa\\u6924\\u8136\\u9559\\u7630\\u96d2',\r\n 'ma': '\\u5988\\u9ebb\\u739b\\u7801\\u8682\\u9a6c\\u9a82\\u561b\\u5417\\u551b\\u72b8\\u5b37\\u6769\\u9ebd',\r\n 'mai': '\\u57cb\\u4e70\\u9ea6\\u5356\\u8fc8\\u8109\\u52a2\\u836c\\u54aa\\u973e',\r\n 'man': '\\u7792\\u9992\\u86ee\\u6ee1\\u8513\\u66fc\\u6162\\u6f2b\\u8c29\\u5881\\u5e54\\u7f26\\u71b3\\u9558\\u989f\\u87a8\\u9cd7\\u9794',\r\n 'mang': '\\u8292\\u832b\\u76f2\\u5fd9\\u83bd\\u9099\\u6f2d\\u6726\\u786d\\u87d2',\r\n 'meng': '\\u6c13\\u840c\\u8499\\u6aac\\u76df\\u9530\\u731b\\u68a6\\u5b5f\\u52d0\\u750d\\u77a2\\u61f5\\u791e\\u867b\\u8722\\u8813\\u824b\\u8268\\u9efe',\r\n 'miao': '\\u732b\\u82d7\\u63cf\\u7784\\u85d0\\u79d2\\u6e3a\\u5e99\\u5999\\u55b5\\u9088\\u7f08\\u7f2a\\u676a\\u6dfc\\u7707\\u9e4b\\u8731',\r\n 'mao': '\\u8305\\u951a\\u6bdb\\u77db\\u94c6\\u536f\\u8302\\u5192\\u5e3d\\u8c8c\\u8d38\\u4f94\\u88a4\\u52d6\\u8306\\u5cc1\\u7441\\u6634\\u7266\\u8004\\u65c4\\u61cb\\u7780\\u86d1\\u8765\\u87ca\\u9ae6',\r\n 'me': '\\u4e48',\r\n 'mei': '\\u73ab\\u679a\\u6885\\u9176\\u9709\\u7164\\u6ca1\\u7709\\u5a92\\u9541\\u6bcf\\u7f8e\\u6627\\u5bd0\\u59b9\\u5a9a\\u5776\\u8393\\u5d4b\\u7338\\u6d7c\\u6e44\\u6963\\u9545\\u9e5b\\u8882\\u9b45',\r\n 'men': '\\u95e8\\u95f7\\u4eec\\u626a\\u739f\\u7116\\u61d1\\u9494',\r\n 'mi': '\\u772f\\u919a\\u9761\\u7cdc\\u8ff7\\u8c1c\\u5f25\\u7c73\\u79d8\\u89c5\\u6ccc\\u871c\\u5bc6\\u5e42\\u8288\\u5196\\u8c27\\u863c\\u5627\\u7315\\u736f\\u6c68\\u5b93\\u5f2d\\u8112\\u6549\\u7cf8\\u7e3b\\u9e8b',\r\n 'mian': '\\u68c9\\u7720\\u7ef5\\u5195\\u514d\\u52c9\\u5a29\\u7f05\\u9762\\u6c94\\u6e4e\\u817c\\u7704',\r\n 'mie': '\\u8511\\u706d\\u54a9\\u881b\\u7bfe',\r\n 'min': '\\u6c11\\u62bf\\u76bf\\u654f\\u60af\\u95fd\\u82e0\\u5cb7\\u95f5\\u6cef\\u73c9',\r\n 'ming': '\\u660e\\u879f\\u9e23\\u94ed\\u540d\\u547d\\u51a5\\u8317\\u6e9f\\u669d\\u7791\\u9169',\r\n 'miu': '\\u8c2c',\r\n 'mo': '\\u6478\\u6479\\u8611\\u6a21\\u819c\\u78e8\\u6469\\u9b54\\u62b9\\u672b\\u83ab\\u58a8\\u9ed8\\u6cab\\u6f20\\u5bde\\u964c\\u8c1f\\u8309\\u84e6\\u998d\\u5aeb\\u9546\\u79e3\\u763c\\u8031\\u87c6\\u8c8a\\u8c98',\r\n 'mou': '\\u8c0b\\u725f\\u67d0\\u53b6\\u54de\\u5a7a\\u7738\\u936a',\r\n 'mu': '\\u62c7\\u7261\\u4ea9\\u59c6\\u6bcd\\u5893\\u66ae\\u5e55\\u52df\\u6155\\u6728\\u76ee\\u7766\\u7267\\u7a46\\u4eeb\\u82dc\\u5452\\u6c90\\u6bea\\u94bc',\r\n 'na': '\\u62ff\\u54ea\\u5450\\u94a0\\u90a3\\u5a1c\\u7eb3\\u5185\\u637a\\u80ad\\u954e\\u8872\\u7bac',\r\n 'nai': '\\u6c16\\u4e43\\u5976\\u8010\\u5948\\u9f10\\u827f\\u8418\\u67f0',\r\n 'nan': '\\u5357\\u7537\\u96be\\u56ca\\u5583\\u56e1\\u6960\\u8169\\u877b\\u8d67',\r\n 'nao': '\\u6320\\u8111\\u607c\\u95f9\\u5b6c\\u57b4\\u7331\\u7459\\u7847\\u94d9\\u86f2',\r\n 'ne': '\\u6dd6\\u5462\\u8bb7',\r\n 'nei': '\\u9981',\r\n 'nen': '\\u5ae9\\u80fd\\u6798\\u6041',\r\n 'ni': '\\u59ae\\u9713\\u502a\\u6ce5\\u5c3c\\u62df\\u4f60\\u533f\\u817b\\u9006\\u6eba\\u4f32\\u576d\\u730a\\u6029\\u6ee0\\u6635\\u65ce\\u7962\\u615d\\u7768\\u94cc\\u9cb5',\r\n 'nian': '\\u852b\\u62c8\\u5e74\\u78be\\u64b5\\u637b\\u5ff5\\u5eff\\u8f87\\u9ecf\\u9c87\\u9cb6',\r\n 'niang': '\\u5a18\\u917f',\r\n 'niao': '\\u9e1f\\u5c3f\\u8311\\u5b32\\u8132\\u8885',\r\n 'nie': '\\u634f\\u8042\\u5b7d\\u556e\\u954a\\u954d\\u6d85\\u4e5c\\u9667\\u8616\\u55eb\\u8080\\u989e\\u81ec\\u8e51',\r\n 'nin': '\\u60a8\\u67e0',\r\n 'ning': '\\u72de\\u51dd\\u5b81\\u62e7\\u6cde\\u4f5e\\u84e5\\u549b\\u752f\\u804d',\r\n 'niu': '\\u725b\\u626d\\u94ae\\u7ebd\\u72c3\\u5ff8\\u599e\\u86b4',\r\n 'nong': '\\u8113\\u6d53\\u519c\\u4fac',\r\n 'nu': '\\u5974\\u52aa\\u6012\\u5476\\u5e11\\u5f29\\u80ec\\u5b65\\u9a7d',\r\n 'nv': '\\u5973\\u6067\\u9495\\u8844',\r\n 'nuan': '\\u6696',\r\n 'nuenue': '\\u8650',\r\n 'nue': '\\u759f\\u8c11',\r\n 'nuo': '\\u632a\\u61e6\\u7cef\\u8bfa\\u50a9\\u6426\\u558f\\u9518',\r\n 'ou': '\\u54e6\\u6b27\\u9e25\\u6bb4\\u85d5\\u5455\\u5076\\u6ca4\\u6004\\u74ef\\u8026',\r\n 'pa': '\\u556a\\u8db4\\u722c\\u5e15\\u6015\\u7436\\u8469\\u7b62',\r\n 'pai': '\\u62cd\\u6392\\u724c\\u5f98\\u6e43\\u6d3e\\u4ff3\\u848e',\r\n 'pan': '\\u6500\\u6f58\\u76d8\\u78d0\\u76fc\\u7554\\u5224\\u53db\\u723f\\u6cee\\u88a2\\u897b\\u87e0\\u8e52',\r\n 'pang': '\\u4e53\\u5e9e\\u65c1\\u802a\\u80d6\\u6ec2\\u9004',\r\n 'pao': '\\u629b\\u5486\\u5228\\u70ae\\u888d\\u8dd1\\u6ce1\\u530f\\u72cd\\u5e96\\u812c\\u75b1',\r\n 'pei': '\\u5478\\u80da\\u57f9\\u88f4\\u8d54\\u966a\\u914d\\u4f69\\u6c9b\\u638a\\u8f94\\u5e14\\u6de0\\u65c6\\u952b\\u9185\\u9708',\r\n 'pen': '\\u55b7\\u76c6\\u6e53',\r\n 'peng': '\\u7830\\u62a8\\u70f9\\u6f8e\\u5f6d\\u84ec\\u68da\\u787c\\u7bf7\\u81a8\\u670b\\u9e4f\\u6367\\u78b0\\u576f\\u580b\\u562d\\u6026\\u87db',\r\n 'pi': '\\u7812\\u9739\\u6279\\u62ab\\u5288\\u7435\\u6bd7\\u5564\\u813e\\u75b2\\u76ae\\u5339\\u75de\\u50fb\\u5c41\\u8b6c\\u4e15\\u9674\\u90b3\\u90eb\\u572e\\u9f19\\u64d7\\u567c\\u5e80\\u5ab2\\u7eb0\\u6787\\u7513\\u7765\\u7f74\\u94cd\\u75e6\\u7656\\u758b\\u868d\\u8c94',\r\n 'pian': '\\u7bc7\\u504f\\u7247\\u9a97\\u8c1d\\u9a88\\u728f\\u80fc\\u890a\\u7fe9\\u8e41',\r\n 'piao': '\\u98d8\\u6f02\\u74e2\\u7968\\u527d\\u560c\\u5ad6\\u7f25\\u6b8d\\u779f\\u87b5',\r\n 'pie': '\\u6487\\u77a5\\u4e3f\\u82e4\\u6c15',\r\n 'pin': '\\u62fc\\u9891\\u8d2b\\u54c1\\u8058\\u62da\\u59d8\\u5ad4\\u6980\\u725d\\u98a6',\r\n 'ping': '\\u4e52\\u576a\\u82f9\\u840d\\u5e73\\u51ed\\u74f6\\u8bc4\\u5c4f\\u4fdc\\u5a09\\u67b0\\u9c86',\r\n 'po': '\\u5761\\u6cfc\\u9887\\u5a46\\u7834\\u9b44\\u8feb\\u7c95\\u53f5\\u9131\\u6ea5\\u73c0\\u948b\\u94b7\\u76a4\\u7b38',\r\n 'pou': '\\u5256\\u88d2\\u8e23',\r\n 'pu': '\\u6251\\u94fa\\u4ec6\\u8386\\u8461\\u83e9\\u84b2\\u57d4\\u6734\\u5703\\u666e\\u6d66\\u8c31\\u66dd\\u7011\\u530d\\u5657\\u6fee\\u749e\\u6c06\\u9564\\u9568\\u8e7c',\r\n 'qi': '\\u671f\\u6b3a\\u6816\\u621a\\u59bb\\u4e03\\u51c4\\u6f06\\u67d2\\u6c8f\\u5176\\u68cb\\u5947\\u6b67\\u7566\\u5d0e\\u8110\\u9f50\\u65d7\\u7948\\u7941\\u9a91\\u8d77\\u5c82\\u4e5e\\u4f01\\u542f\\u5951\\u780c\\u5668\\u6c14\\u8fc4\\u5f03\\u6c7d\\u6ce3\\u8bab\\u4e9f\\u4e93\\u573b\\u8291\\u840b\\u847a\\u5601\\u5c7a\\u5c90\\u6c54\\u6dc7\\u9a90\\u7eee\\u742a\\u7426\\u675e\\u6864\\u69ed\\u6b39\\u797a\\u61a9\\u789b\\u86f4\\u871e\\u7da6\\u7dae\\u8dbf\\u8e4a\\u9ccd\\u9e92',\r\n 'qia': '\\u6390\\u6070\\u6d3d\\u845c',\r\n 'qian': '\\u7275\\u6266\\u948e\\u94c5\\u5343\\u8fc1\\u7b7e\\u4edf\\u8c26\\u4e7e\\u9ed4\\u94b1\\u94b3\\u524d\\u6f5c\\u9063\\u6d45\\u8c34\\u5811\\u5d4c\\u6b20\\u6b49\\u4f65\\u9621\\u828a\\u82a1\\u8368\\u63ae\\u5c8d\\u60ad\\u614a\\u9a9e\\u6434\\u8930\\u7f31\\u6920\\u80b7\\u6106\\u94a4\\u8654\\u7b9d',\r\n 'qiang': '\\u67aa\\u545b\\u8154\\u7f8c\\u5899\\u8537\\u5f3a\\u62a2\\u5af1\\u6a2f\\u6217\\u709d\\u9516\\u9535\\u956a\\u8941\\u8723\\u7f9f\\u8deb\\u8dc4',\r\n 'qiao': '\\u6a47\\u9539\\u6572\\u6084\\u6865\\u77a7\\u4e54\\u4fa8\\u5de7\\u9798\\u64ac\\u7fd8\\u5ced\\u4fcf\\u7a8d\\u5281\\u8bee\\u8c2f\\u835e\\u6100\\u6194\\u7f32\\u6a35\\u6bf3\\u7857\\u8df7\\u9792',\r\n 'qie': '\\u5207\\u8304\\u4e14\\u602f\\u7a83\\u90c4\\u553c\\u60ec\\u59be\\u6308\\u9532\\u7ba7',\r\n 'qin': '\\u94a6\\u4fb5\\u4eb2\\u79e6\\u7434\\u52e4\\u82b9\\u64d2\\u79bd\\u5bdd\\u6c81\\u82a9\\u84c1\\u8572\\u63ff\\u5423\\u55ea\\u5659\\u6eb1\\u6a8e\\u8793\\u887e',\r\n 'qing': '\\u9752\\u8f7b\\u6c22\\u503e\\u537f\\u6e05\\u64ce\\u6674\\u6c30\\u60c5\\u9877\\u8bf7\\u5e86\\u5029\\u82d8\\u570a\\u6aa0\\u78ec\\u873b\\u7f44\\u7b90\\u8b26\\u9cad\\u9ee5',\r\n 'qiong': '\\u743c\\u7a77\\u909b\\u8315\\u7a79\\u7b47\\u928e',\r\n 'qiu': '\\u79cb\\u4e18\\u90b1\\u7403\\u6c42\\u56da\\u914b\\u6cc5\\u4fc5\\u6c3d\\u5def\\u827d\\u72b0\\u6e6b\\u9011\\u9052\\u6978\\u8d47\\u9e20\\u866c\\u86af\\u8764\\u88d8\\u7cd7\\u9cc5\\u9f3d',\r\n 'qu': '\\u8d8b\\u533a\\u86c6\\u66f2\\u8eaf\\u5c48\\u9a71\\u6e20\\u53d6\\u5a36\\u9f8b\\u8da3\\u53bb\\u8bce\\u52ac\\u8556\\u8627\\u5c96\\u8862\\u9612\\u74a9\\u89d1\\u6c0d\\u795b\\u78f2\\u766f\\u86d0\\u883c\\u9eb4\\u77bf\\u9ee2',\r\n 'quan': '\\u5708\\u98a7\\u6743\\u919b\\u6cc9\\u5168\\u75ca\\u62f3\\u72ac\\u5238\\u529d\\u8be0\\u8343\\u737e\\u609b\\u7efb\\u8f81\\u754e\\u94e8\\u8737\\u7b4c\\u9b08',\r\n 'que': '\\u7f3a\\u7094\\u7638\\u5374\\u9e4a\\u69b7\\u786e\\u96c0\\u9619\\u60ab',\r\n 'qun': '\\u88d9\\u7fa4\\u9021',\r\n 'ran': '\\u7136\\u71c3\\u5189\\u67d3\\u82d2\\u9aef',\r\n 'rang': '\\u74e4\\u58e4\\u6518\\u56b7\\u8ba9\\u79b3\\u7a70',\r\n 'rao': '\\u9976\\u6270\\u7ed5\\u835b\\u5a06\\u6861',\r\n 'ruo': '\\u60f9\\u82e5\\u5f31',\r\n 're': '\\u70ed\\u504c',\r\n 'ren': '\\u58ec\\u4ec1\\u4eba\\u5fcd\\u97e7\\u4efb\\u8ba4\\u5203\\u598a\\u7eab\\u4ede\\u834f\\u845a\\u996a\\u8f6b\\u7a14\\u887d',\r\n 'reng': '\\u6254\\u4ecd',\r\n 'ri': '\\u65e5',\r\n 'rong': '\\u620e\\u8338\\u84c9\\u8363\\u878d\\u7194\\u6eb6\\u5bb9\\u7ed2\\u5197\\u5d58\\u72e8\\u7f1b\\u6995\\u877e',\r\n 'rou': '\\u63c9\\u67d4\\u8089\\u7cc5\\u8e42\\u97a3',\r\n 'ru': '\\u8339\\u8815\\u5112\\u5b7a\\u5982\\u8fb1\\u4e73\\u6c5d\\u5165\\u8925\\u84d0\\u85b7\\u5685\\u6d33\\u6ebd\\u6fe1\\u94f7\\u8966\\u98a5',\r\n 'ruan': '\\u8f6f\\u962e\\u670a',\r\n 'rui': '\\u854a\\u745e\\u9510\\u82ae\\u8564\\u777f\\u868b',\r\n 'run': '\\u95f0\\u6da6',\r\n 'sa': '\\u6492\\u6d12\\u8428\\u5345\\u4ee8\\u6332\\u98d2',\r\n 'sai': '\\u816e\\u9cc3\\u585e\\u8d5b\\u567b',\r\n 'san': '\\u4e09\\u53c1\\u4f1e\\u6563\\u5f61\\u9993\\u6c35\\u6bf5\\u7cc1\\u9730',\r\n 'sang': '\\u6851\\u55d3\\u4e27\\u6421\\u78c9\\u98a1',\r\n 'sao': '\\u6414\\u9a9a\\u626b\\u5ac2\\u57fd\\u81ca\\u7619\\u9ccb',\r\n 'se': '\\u745f\\u8272\\u6da9\\u556c\\u94e9\\u94ef\\u7a51',\r\n 'sen': '\\u68ee',\r\n 'seng': '\\u50e7',\r\n 'sha': '\\u838e\\u7802\\u6740\\u5239\\u6c99\\u7eb1\\u50bb\\u5565\\u715e\\u810e\\u6b43\\u75e7\\u88df\\u970e\\u9ca8',\r\n 'shai': '\\u7b5b\\u6652\\u917e',\r\n 'shan': '\\u73ca\\u82eb\\u6749\\u5c71\\u5220\\u717d\\u886b\\u95ea\\u9655\\u64c5\\u8d61\\u81b3\\u5584\\u6c55\\u6247\\u7f2e\\u5261\\u8baa\\u912f\\u57cf\\u829f\\u6f78\\u59d7\\u9a9f\\u81bb\\u9490\\u759d\\u87ee\\u8222\\u8dda\\u9cdd',\r\n 'shang': '\\u5892\\u4f24\\u5546\\u8d4f\\u664c\\u4e0a\\u5c1a\\u88f3\\u57a7\\u7ef1\\u6b87\\u71b5\\u89de',\r\n 'shao': '\\u68a2\\u634e\\u7a0d\\u70e7\\u828d\\u52fa\\u97f6\\u5c11\\u54e8\\u90b5\\u7ecd\\u52ad\\u82d5\\u6f72\\u86f8\\u7b24\\u7b72\\u8244',\r\n 'she': '\\u5962\\u8d4a\\u86c7\\u820c\\u820d\\u8d66\\u6444\\u5c04\\u6151\\u6d89\\u793e\\u8bbe\\u538d\\u4f58\\u731e\\u7572\\u9e9d',\r\n 'shen': '\\u7837\\u7533\\u547b\\u4f38\\u8eab\\u6df1\\u5a20\\u7ec5\\u795e\\u6c88\\u5ba1\\u5a76\\u751a\\u80be\\u614e\\u6e17\\u8bdc\\u8c02\\u5432\\u54c2\\u6e16\\u6939\\u77e7\\u8703',\r\n 'sheng': '\\u58f0\\u751f\\u7525\\u7272\\u5347\\u7ef3\\u7701\\u76db\\u5269\\u80dc\\u5723\\u4e1e\\u6e11\\u5ab5\\u771a\\u7b19',\r\n 'shi': '\\u5e08\\u5931\\u72ee\\u65bd\\u6e7f\\u8bd7\\u5c38\\u8671\\u5341\\u77f3\\u62fe\\u65f6\\u4ec0\\u98df\\u8680\\u5b9e\\u8bc6\\u53f2\\u77e2\\u4f7f\\u5c4e\\u9a76\\u59cb\\u5f0f\\u793a\\u58eb\\u4e16\\u67ff\\u4e8b\\u62ed\\u8a93\\u901d\\u52bf\\u662f\\u55dc\\u566c\\u9002\\u4ed5\\u4f8d\\u91ca\\u9970\\u6c0f\\u5e02\\u6043\\u5ba4\\u89c6\\u8bd5\\u8c25\\u57d8\\u83b3\\u84cd\\u5f11\\u5511\\u9963\\u8f7c\\u8006\\u8d33\\u70bb\\u793b\\u94c8\\u94ca\\u87ab\\u8210\\u7b6e\\u8c55\\u9ca5\\u9cba',\r\n 'shou': '\\u6536\\u624b\\u9996\\u5b88\\u5bff\\u6388\\u552e\\u53d7\\u7626\\u517d\\u624c\\u72e9\\u7ef6\\u824f',\r\n 'shu': '\\u852c\\u67a2\\u68b3\\u6b8a\\u6292\\u8f93\\u53d4\\u8212\\u6dd1\\u758f\\u4e66\\u8d4e\\u5b70\\u719f\\u85af\\u6691\\u66d9\\u7f72\\u8700\\u9ecd\\u9f20\\u5c5e\\u672f\\u8ff0\\u6811\\u675f\\u620d\\u7ad6\\u5885\\u5eb6\\u6570\\u6f31\\u6055\\u500f\\u587e\\u83fd\\u5fc4\\u6cad\\u6d91\\u6f8d\\u59dd\\u7ebe\\u6bf9\\u8167\\u6bb3\\u956f\\u79eb\\u9e6c',\r\n 'shua': '\\u5237\\u800d\\u5530\\u6dae',\r\n 'shuai': '\\u6454\\u8870\\u7529\\u5e05\\u87c0',\r\n 'shuan': '\\u6813\\u62f4\\u95e9',\r\n 'shuang': '\\u971c\\u53cc\\u723d\\u5b40',\r\n 'shui': '\\u8c01\\u6c34\\u7761\\u7a0e',\r\n 'shun': '\\u542e\\u77ac\\u987a\\u821c\\u6042',\r\n 'shuo': '\\u8bf4\\u7855\\u6714\\u70c1\\u84b4\\u6420\\u55cd\\u6fef\\u5981\\u69ca\\u94c4',\r\n 'si': '\\u65af\\u6495\\u5636\\u601d\\u79c1\\u53f8\\u4e1d\\u6b7b\\u8086\\u5bfa\\u55e3\\u56db\\u4f3a\\u4f3c\\u9972\\u5df3\\u53ae\\u4fdf\\u5155\\u83e5\\u549d\\u6c5c\\u6cd7\\u6f8c\\u59d2\\u9a77\\u7f0c\\u7940\\u7960\\u9536\\u9e36\\u801c\\u86f3\\u7b25',\r\n 'song': '\\u677e\\u8038\\u6002\\u9882\\u9001\\u5b8b\\u8bbc\\u8bf5\\u51c7\\u83d8\\u5d27\\u5d69\\u5fea\\u609a\\u6dde\\u7ae6',\r\n 'sou': '\\u641c\\u8258\\u64de\\u55fd\\u53df\\u55d6\\u55fe\\u998a\\u6eb2\\u98d5\\u778d\\u953c\\u878b',\r\n 'su': '\\u82cf\\u9165\\u4fd7\\u7d20\\u901f\\u7c9f\\u50f3\\u5851\\u6eaf\\u5bbf\\u8bc9\\u8083\\u5919\\u8c21\\u850c\\u55c9\\u612b\\u7c0c\\u89eb\\u7a23',\r\n 'suan': '\\u9178\\u849c\\u7b97',\r\n 'sui': '\\u867d\\u968b\\u968f\\u7ee5\\u9ad3\\u788e\\u5c81\\u7a57\\u9042\\u96a7\\u795f\\u84d1\\u51ab\\u8c07\\u6fc9\\u9083\\u71e7\\u772d\\u7762',\r\n 'sun': '\\u5b59\\u635f\\u7b0b\\u836a\\u72f2\\u98e7\\u69ab\\u8de3\\u96bc',\r\n 'suo': '\\u68ad\\u5506\\u7f29\\u7410\\u7d22\\u9501\\u6240\\u5522\\u55e6\\u5a11\\u686b\\u7743\\u7fa7',\r\n 'ta': '\\u584c\\u4ed6\\u5b83\\u5979\\u5854\\u736d\\u631e\\u8e4b\\u8e0f\\u95fc\\u6ebb\\u9062\\u69bb\\u6c93',\r\n 'tai': '\\u80ce\\u82d4\\u62ac\\u53f0\\u6cf0\\u915e\\u592a\\u6001\\u6c70\\u90b0\\u85b9\\u80bd\\u70b1\\u949b\\u8dc6\\u9c90',\r\n 'tan': '\\u574d\\u644a\\u8d2a\\u762b\\u6ee9\\u575b\\u6a80\\u75f0\\u6f6d\\u8c2d\\u8c08\\u5766\\u6bef\\u8892\\u78b3\\u63a2\\u53f9\\u70ad\\u90ef\\u8548\\u6619\\u94bd\\u952c\\u8983',\r\n 'tang': '\\u6c64\\u5858\\u642a\\u5802\\u68e0\\u819b\\u5510\\u7cd6\\u50a5\\u9967\\u6e8f\\u746d\\u94f4\\u9557\\u8025\\u8797\\u87b3\\u7fb0\\u91a3',\r\n 'thang': '\\u5018\\u8eba\\u6dcc',\r\n 'theng': '\\u8d9f\\u70eb',\r\n 'tao': '\\u638f\\u6d9b\\u6ed4\\u7ee6\\u8404\\u6843\\u9003\\u6dd8\\u9676\\u8ba8\\u5957\\u6311\\u9f17\\u5555\\u97ec\\u9955',\r\n 'te': '\\u7279',\r\n 'teng': '\\u85e4\\u817e\\u75bc\\u8a8a\\u6ed5',\r\n 'ti': '\\u68af\\u5254\\u8e22\\u9511\\u63d0\\u9898\\u8e44\\u557c\\u4f53\\u66ff\\u568f\\u60d5\\u6d95\\u5243\\u5c49\\u8351\\u608c\\u9016\\u7ee8\\u7f07\\u9e48\\u88fc\\u918d',\r\n 'tian': '\\u5929\\u6dfb\\u586b\\u7530\\u751c\\u606c\\u8214\\u8146\\u63ad\\u5fdd\\u9617\\u6b84\\u754b\\u94bf\\u86ba',\r\n 'tiao': '\\u6761\\u8fe2\\u773a\\u8df3\\u4f7b\\u7967\\u94eb\\u7a95\\u9f86\\u9ca6',\r\n 'tie': '\\u8d34\\u94c1\\u5e16\\u841c\\u992e',\r\n 'ting': '\\u5385\\u542c\\u70c3\\u6c40\\u5ef7\\u505c\\u4ead\\u5ead\\u633a\\u8247\\u839b\\u8476\\u5a77\\u6883\\u8713\\u9706',\r\n 'tong': '\\u901a\\u6850\\u916e\\u77b3\\u540c\\u94dc\\u5f64\\u7ae5\\u6876\\u6345\\u7b52\\u7edf\\u75db\\u4f5f\\u50ee\\u4edd\\u833c\\u55f5\\u6078\\u6f7c\\u783c',\r\n 'tou': '\\u5077\\u6295\\u5934\\u900f\\u4ea0',\r\n 'tu': '\\u51f8\\u79c3\\u7a81\\u56fe\\u5f92\\u9014\\u6d82\\u5c60\\u571f\\u5410\\u5154\\u580d\\u837c\\u83df\\u948d\\u9174',\r\n 'tuan': '\\u6e4d\\u56e2\\u7583',\r\n 'tui': '\\u63a8\\u9893\\u817f\\u8715\\u892a\\u9000\\u5fd2\\u717a',\r\n 'tun': '\\u541e\\u5c6f\\u81c0\\u9968\\u66be\\u8c5a\\u7a80',\r\n 'tuo': '\\u62d6\\u6258\\u8131\\u9e35\\u9640\\u9a6e\\u9a7c\\u692d\\u59a5\\u62d3\\u553e\\u4e47\\u4f57\\u5768\\u5eb9\\u6cb1\\u67dd\\u7823\\u7ba8\\u8204\\u8dce\\u9f0d',\r\n 'wa': '\\u6316\\u54c7\\u86d9\\u6d3c\\u5a03\\u74e6\\u889c\\u4f64\\u5a32\\u817d',\r\n 'wai': '\\u6b6a\\u5916',\r\n 'wan': '\\u8c4c\\u5f2f\\u6e7e\\u73a9\\u987d\\u4e38\\u70f7\\u5b8c\\u7897\\u633d\\u665a\\u7696\\u60cb\\u5b9b\\u5a49\\u4e07\\u8155\\u525c\\u8284\\u82cb\\u83c0\\u7ea8\\u7efe\\u742c\\u8118\\u7579\\u873f\\u7ba2',\r\n 'wang': '\\u6c6a\\u738b\\u4ea1\\u6789\\u7f51\\u5f80\\u65fa\\u671b\\u5fd8\\u5984\\u7f54\\u5c22\\u60d8\\u8f8b\\u9b4d',\r\n 'wei': '\\u5a01\\u5dcd\\u5fae\\u5371\\u97e6\\u8fdd\\u6845\\u56f4\\u552f\\u60df\\u4e3a\\u6f4d\\u7ef4\\u82c7\\u840e\\u59d4\\u4f1f\\u4f2a\\u5c3e\\u7eac\\u672a\\u851a\\u5473\\u754f\\u80c3\\u5582\\u9b4f\\u4f4d\\u6e2d\\u8c13\\u5c09\\u6170\\u536b\\u502d\\u504e\\u8bff\\u9688\\u8473\\u8587\\u5e0f\\u5e37\\u5d34\\u5d6c\\u7325\\u732c\\u95f1\\u6ca9\\u6d27\\u6da0\\u9036\\u5a13\\u73ae\\u97ea\\u8ece\\u709c\\u7168\\u71a8\\u75ff\\u8249\\u9c94',\r\n 'wen': '\\u761f\\u6e29\\u868a\\u6587\\u95fb\\u7eb9\\u543b\\u7a33\\u7d0a\\u95ee\\u520e\\u6120\\u960c\\u6c76\\u74ba\\u97eb\\u6b81\\u96ef',\r\n 'weng': '\\u55e1\\u7fc1\\u74ee\\u84ca\\u8579',\r\n 'wo': '\\u631d\\u8717\\u6da1\\u7a9d\\u6211\\u65a1\\u5367\\u63e1\\u6c83\\u83b4\\u5e44\\u6e25\\u674c\\u809f\\u9f8c',\r\n 'wu': '\\u5deb\\u545c\\u94a8\\u4e4c\\u6c61\\u8bec\\u5c4b\\u65e0\\u829c\\u68a7\\u543e\\u5434\\u6bcb\\u6b66\\u4e94\\u6342\\u5348\\u821e\\u4f0d\\u4fae\\u575e\\u620a\\u96fe\\u6664\\u7269\\u52ff\\u52a1\\u609f\\u8bef\\u5140\\u4ef5\\u9622\\u90ac\\u572c\\u82b4\\u5e91\\u6003\\u5fe4\\u6d6f\\u5be4\\u8fd5\\u59a9\\u9a9b\\u727e\\u7110\\u9e49\\u9e5c\\u8708\\u92c8\\u9f2f',\r\n 'xi': '\\u6614\\u7199\\u6790\\u897f\\u7852\\u77fd\\u6670\\u563b\\u5438\\u9521\\u727a\\u7a00\\u606f\\u5e0c\\u6089\\u819d\\u5915\\u60dc\\u7184\\u70ef\\u6eaa\\u6c50\\u7280\\u6a84\\u88ad\\u5e2d\\u4e60\\u5ab3\\u559c\\u94e3\\u6d17\\u7cfb\\u9699\\u620f\\u7ec6\\u50d6\\u516e\\u96b0\\u90d7\\u831c\\u8478\\u84f0\\u595a\\u550f\\u5f99\\u9969\\u960b\\u6d60\\u6dc5\\u5c63\\u5b09\\u73ba\\u6a28\\u66e6\\u89cb\\u6b37\\u71b9\\u798a\\u79a7\\u94b8\\u7699\\u7a78\\u8725\\u87cb\\u823e\\u7fb2\\u7c9e\\u7fd5\\u91af\\u9f37',\r\n 'xia': '\\u778e\\u867e\\u5323\\u971e\\u8f96\\u6687\\u5ce1\\u4fa0\\u72ed\\u4e0b\\u53a6\\u590f\\u5413\\u6380\\u846d\\u55c4\\u72ce\\u9050\\u7455\\u7856\\u7615\\u7f45\\u9ee0',\r\n 'xian': '\\u9528\\u5148\\u4ed9\\u9c9c\\u7ea4\\u54b8\\u8d24\\u8854\\u8237\\u95f2\\u6d8e\\u5f26\\u5acc\\u663e\\u9669\\u73b0\\u732e\\u53bf\\u817a\\u9985\\u7fa1\\u5baa\\u9677\\u9650\\u7ebf\\u51bc\\u85d3\\u5c98\\u7303\\u66b9\\u5a34\\u6c19\\u7946\\u9e47\\u75eb\\u86ac\\u7b45\\u7c7c\\u9170\\u8df9',\r\n 'xiang': '\\u76f8\\u53a2\\u9576\\u9999\\u7bb1\\u8944\\u6e58\\u4e61\\u7fd4\\u7965\\u8be6\\u60f3\\u54cd\\u4eab\\u9879\\u5df7\\u6a61\\u50cf\\u5411\\u8c61\\u8297\\u8459\\u9977\\u5ea0\\u9aa7\\u7f03\\u87d3\\u9c9e\\u98e8',\r\n 'xiao': '\\u8427\\u785d\\u9704\\u524a\\u54ee\\u56a3\\u9500\\u6d88\\u5bb5\\u6dc6\\u6653\\u5c0f\\u5b5d\\u6821\\u8096\\u5578\\u7b11\\u6548\\u54d3\\u54bb\\u5d24\\u6f47\\u900d\\u9a81\\u7ee1\\u67ad\\u67b5\\u7b71\\u7bab\\u9b48',\r\n 'xie': '\\u6954\\u4e9b\\u6b47\\u874e\\u978b\\u534f\\u631f\\u643a\\u90aa\\u659c\\u80c1\\u8c10\\u5199\\u68b0\\u5378\\u87f9\\u61c8\\u6cc4\\u6cfb\\u8c22\\u5c51\\u5055\\u4eb5\\u52f0\\u71ee\\u85a4\\u64b7\\u5ee8\\u7023\\u9082\\u7ec1\\u7f2c\\u69ad\\u698d\\u6b59\\u8e9e',\r\n 'xin': '\\u85aa\\u82af\\u950c\\u6b23\\u8f9b\\u65b0\\u5ffb\\u5fc3\\u4fe1\\u8845\\u56df\\u99a8\\u8398\\u6b46\\u94fd\\u946b',\r\n 'xing': '\\u661f\\u8165\\u7329\\u60fa\\u5174\\u5211\\u578b\\u5f62\\u90a2\\u884c\\u9192\\u5e78\\u674f\\u6027\\u59d3\\u9649\\u8347\\u8365\\u64e4\\u60bb\\u784e',\r\n 'xiong': '\\u5144\\u51f6\\u80f8\\u5308\\u6c79\\u96c4\\u718a\\u828e',\r\n 'xiu': '\\u4f11\\u4fee\\u7f9e\\u673d\\u55c5\\u9508\\u79c0\\u8896\\u7ee3\\u83a0\\u5cab\\u9990\\u5ea5\\u9e3a\\u8c85\\u9af9',\r\n 'xu': '\\u589f\\u620c\\u9700\\u865a\\u5618\\u987b\\u5f90\\u8bb8\\u84c4\\u9157\\u53d9\\u65ed\\u5e8f\\u755c\\u6064\\u7d6e\\u5a7f\\u7eea\\u7eed\\u8bb4\\u8be9\\u5729\\u84ff\\u6035\\u6d2b\\u6e86\\u987c\\u6829\\u7166\\u7809\\u76f1\\u80e5\\u7cc8\\u9191',\r\n 'xuan': '\\u8f69\\u55a7\\u5ba3\\u60ac\\u65cb\\u7384\\u9009\\u7663\\u7729\\u7eda\\u5107\\u8c16\\u8431\\u63ce\\u9994\\u6ceb\\u6d35\\u6e32\\u6f29\\u7487\\u6966\\u6684\\u70ab\\u714a\\u78b9\\u94c9\\u955f\\u75c3',\r\n 'xue': '\\u9774\\u859b\\u5b66\\u7a74\\u96ea\\u8840\\u5671\\u6cf6\\u9cd5',\r\n 'xun': '\\u52cb\\u718f\\u5faa\\u65ec\\u8be2\\u5bfb\\u9a6f\\u5de1\\u6b89\\u6c5b\\u8bad\\u8baf\\u900a\\u8fc5\\u5dfd\\u57d9\\u8340\\u85b0\\u5ccb\\u5f87\\u6d54\\u66db\\u7aa8\\u91ba\\u9c9f',\r\n 'ya': '\\u538b\\u62bc\\u9e26\\u9e2d\\u5440\\u4e2b\\u82bd\\u7259\\u869c\\u5d16\\u8859\\u6daf\\u96c5\\u54d1\\u4e9a\\u8bb6\\u4f22\\u63e0\\u5416\\u5c88\\u8fd3\\u5a05\\u740a\\u6860\\u6c29\\u7811\\u775a\\u75d6',\r\n 'yan': '\\u7109\\u54bd\\u9609\\u70df\\u6df9\\u76d0\\u4e25\\u7814\\u8712\\u5ca9\\u5ef6\\u8a00\\u989c\\u960e\\u708e\\u6cbf\\u5944\\u63a9\\u773c\\u884d\\u6f14\\u8273\\u5830\\u71d5\\u538c\\u781a\\u96c1\\u5501\\u5f66\\u7130\\u5bb4\\u8c1a\\u9a8c\\u53a3\\u9765\\u8d5d\\u4fe8\\u5043\\u5156\\u8ba0\\u8c33\\u90fe\\u9122\\u82ab\\u83f8\\u5d26\\u6079\\u95eb\\u960f\\u6d07\\u6e6e\\u6edf\\u598d\\u5ae3\\u7430\\u664f\\u80ed\\u814c\\u7131\\u7f68\\u7b75\\u917d\\u9b47\\u990d\\u9f39',\r\n 'yang': '\\u6b83\\u592e\\u9e2f\\u79e7\\u6768\\u626c\\u4f6f\\u75a1\\u7f8a\\u6d0b\\u9633\\u6c27\\u4ef0\\u75d2\\u517b\\u6837\\u6f3e\\u5f89\\u600f\\u6cf1\\u7080\\u70ca\\u6059\\u86d8\\u9785',\r\n 'yao': '\\u9080\\u8170\\u5996\\u7476\\u6447\\u5c27\\u9065\\u7a91\\u8c23\\u59da\\u54ac\\u8200\\u836f\\u8981\\u8000\\u592d\\u723b\\u5406\\u5d3e\\u5fad\\u7039\\u5e7a\\u73e7\\u6773\\u66dc\\u80b4\\u9e5e\\u7a88\\u7e47\\u9cd0',\r\n 'ye': '\\u6930\\u564e\\u8036\\u7237\\u91ce\\u51b6\\u4e5f\\u9875\\u6396\\u4e1a\\u53f6\\u66f3\\u814b\\u591c\\u6db2\\u8c12\\u90ba\\u63f6\\u9980\\u6654\\u70e8\\u94d8',\r\n 'yi': '\\u4e00\\u58f9\\u533b\\u63d6\\u94f1\\u4f9d\\u4f0a\\u8863\\u9890\\u5937\\u9057\\u79fb\\u4eea\\u80f0\\u7591\\u6c82\\u5b9c\\u59e8\\u5f5d\\u6905\\u8681\\u501a\\u5df2\\u4e59\\u77e3\\u4ee5\\u827a\\u6291\\u6613\\u9091\\u5c79\\u4ebf\\u5f79\\u81c6\\u9038\\u8084\\u75ab\\u4ea6\\u88d4\\u610f\\u6bc5\\u5fc6\\u4e49\\u76ca\\u6ea2\\u8be3\\u8bae\\u8c0a\\u8bd1\\u5f02\\u7ffc\\u7fcc\\u7ece\\u5208\\u5293\\u4f7e\\u8bd2\\u572a\\u572f\\u57f8\\u61ff\\u82e1\\u858f\\u5f08\\u5955\\u6339\\u5f0b\\u5453\\u54a6\\u54bf\\u566b\\u5cc4\\u5db7\\u7317\\u9974\\u603f\\u6021\\u6092\\u6f2a\\u8fe4\\u9a7f\\u7f22\\u6baa\\u8d3b\\u65d6\\u71a0\\u9487\\u9552\\u9571\\u75cd\\u7617\\u7654\\u7fca\\u8864\\u8734\\u8223\\u7fbf\\u7ff3\\u914f\\u9edf',\r\n 'yin': '\\u8335\\u836b\\u56e0\\u6bb7\\u97f3\\u9634\\u59fb\\u541f\\u94f6\\u6deb\\u5bc5\\u996e\\u5c39\\u5f15\\u9690\\u5370\\u80e4\\u911e\\u5819\\u831a\\u5591\\u72fa\\u5924\\u6c24\\u94df\\u763e\\u8693\\u972a\\u9f88',\r\n 'ying': '\\u82f1\\u6a31\\u5a74\\u9e70\\u5e94\\u7f28\\u83b9\\u8424\\u8425\\u8367\\u8747\\u8fce\\u8d62\\u76c8\\u5f71\\u9896\\u786c\\u6620\\u5b34\\u90e2\\u8314\\u83ba\\u8426\\u6484\\u5624\\u81ba\\u6ee2\\u6f46\\u701b\\u745b\\u748e\\u6979\\u9e66\\u763f\\u988d\\u7f42',\r\n 'yo': '\\u54df\\u5537',\r\n 'yong': '\\u62e5\\u4f63\\u81c3\\u75c8\\u5eb8\\u96cd\\u8e0a\\u86f9\\u548f\\u6cf3\\u6d8c\\u6c38\\u607f\\u52c7\\u7528\\u4fd1\\u58c5\\u5889\\u6175\\u9095\\u955b\\u752c\\u9cd9\\u9954',\r\n 'you': '\\u5e7d\\u4f18\\u60a0\\u5fe7\\u5c24\\u7531\\u90ae\\u94c0\\u72b9\\u6cb9\\u6e38\\u9149\\u6709\\u53cb\\u53f3\\u4f51\\u91c9\\u8bf1\\u53c8\\u5e7c\\u5363\\u6538\\u4f91\\u83b8\\u5466\\u56ff\\u5ba5\\u67da\\u7337\\u7256\\u94d5\\u75a3\\u8763\\u9c7f\\u9edd\\u9f2c',\r\n 'yu': '\\u8fc2\\u6de4\\u4e8e\\u76c2\\u6986\\u865e\\u611a\\u8206\\u4f59\\u4fde\\u903e\\u9c7c\\u6109\\u6e1d\\u6e14\\u9685\\u4e88\\u5a31\\u96e8\\u4e0e\\u5c7f\\u79b9\\u5b87\\u8bed\\u7fbd\\u7389\\u57df\\u828b\\u90c1\\u5401\\u9047\\u55bb\\u5cea\\u5fa1\\u6108\\u6b32\\u72f1\\u80b2\\u8a89\\u6d74\\u5bd3\\u88d5\\u9884\\u8c6b\\u9a6d\\u79ba\\u6bd3\\u4f1b\\u4fe3\\u8c00\\u8c15\\u8438\\u84e3\\u63c4\\u5581\\u5704\\u5709\\u5d5b\\u72f3\\u996b\\u5ebe\\u9608\\u59aa\\u59a4\\u7ea1\\u745c\\u6631\\u89ce\\u8174\\u6b24\\u65bc\\u715c\\u71e0\\u807f\\u94b0\\u9e46\\u7610\\u7600\\u7ab3\\u8753\\u7afd\\u8201\\u96e9\\u9f89',\r\n 'yuan': '\\u9e33\\u6e0a\\u51a4\\u5143\\u57a3\\u8881\\u539f\\u63f4\\u8f95\\u56ed\\u5458\\u5706\\u733f\\u6e90\\u7f18\\u8fdc\\u82d1\\u613f\\u6028\\u9662\\u586c\\u6c85\\u5a9b\\u7457\\u6a7c\\u7230\\u7722\\u9e22\\u8788\\u9f0b',\r\n 'yue': '\\u66f0\\u7ea6\\u8d8a\\u8dc3\\u94a5\\u5cb3\\u7ca4\\u6708\\u60a6\\u9605\\u9fa0\\u6a3e\\u5216\\u94ba',\r\n 'yun': '\\u8018\\u4e91\\u90e7\\u5300\\u9668\\u5141\\u8fd0\\u8574\\u915d\\u6655\\u97f5\\u5b55\\u90d3\\u82b8\\u72c1\\u607d\\u7ead\\u6b92\\u6600\\u6c32',\r\n 'za': '\\u531d\\u7838\\u6742\\u62f6\\u5482',\r\n 'zai': '\\u683d\\u54c9\\u707e\\u5bb0\\u8f7d\\u518d\\u5728\\u54b1\\u5d3d\\u753e',\r\n 'zan': '\\u6512\\u6682\\u8d5e\\u74d2\\u661d\\u7c2a\\u7ccc\\u8db1\\u933e',\r\n 'zang': '\\u8d43\\u810f\\u846c\\u5958\\u6215\\u81e7',\r\n 'zao': '\\u906d\\u7cdf\\u51ff\\u85fb\\u67a3\\u65e9\\u6fa1\\u86a4\\u8e81\\u566a\\u9020\\u7682\\u7076\\u71e5\\u5523\\u7f2b',\r\n 'ze': '\\u8d23\\u62e9\\u5219\\u6cfd\\u4ec4\\u8d5c\\u5567\\u8fee\\u6603\\u7b2e\\u7ba6\\u8234',\r\n 'zei': '\\u8d3c',\r\n 'zen': '\\u600e\\u8c2e',\r\n 'zeng': '\\u589e\\u618e\\u66fe\\u8d60\\u7f2f\\u7511\\u7f7e\\u9503',\r\n 'zha': '\\u624e\\u55b3\\u6e23\\u672d\\u8f67\\u94e1\\u95f8\\u7728\\u6805\\u69a8\\u548b\\u4e4d\\u70b8\\u8bc8\\u63f8\\u5412\\u54a4\\u54f3\\u600d\\u781f\\u75c4\\u86b1\\u9f44',\r\n 'zhai': '\\u6458\\u658b\\u5b85\\u7a84\\u503a\\u5be8\\u7826',\r\n 'zhan': '\\u77bb\\u6be1\\u8a79\\u7c98\\u6cbe\\u76cf\\u65a9\\u8f97\\u5d2d\\u5c55\\u8638\\u6808\\u5360\\u6218\\u7ad9\\u6e5b\\u7efd\\u8c35\\u640c\\u65c3',\r\n 'zhang': '\\u6a1f\\u7ae0\\u5f70\\u6f33\\u5f20\\u638c\\u6da8\\u6756\\u4e08\\u5e10\\u8d26\\u4ed7\\u80c0\\u7634\\u969c\\u4ec9\\u9123\\u5e5b\\u5d82\\u7350\\u5adc\\u748b\\u87d1',\r\n 'zhao': '\\u62db\\u662d\\u627e\\u6cbc\\u8d75\\u7167\\u7f69\\u5146\\u8087\\u53ec\\u722a\\u8bcf\\u68f9\\u948a\\u7b0a',\r\n 'zhe': '\\u906e\\u6298\\u54f2\\u86f0\\u8f99\\u8005\\u9517\\u8517\\u8fd9\\u6d59\\u8c2a\\u966c\\u67d8\\u8f84\\u78d4\\u9e67\\u891a\\u8707\\u8d6d',\r\n 'zhen': '\\u73cd\\u659f\\u771f\\u7504\\u7827\\u81fb\\u8d1e\\u9488\\u4fa6\\u6795\\u75b9\\u8bca\\u9707\\u632f\\u9547\\u9635\\u7f1c\\u6862\\u699b\\u8f78\\u8d48\\u80d7\\u6715\\u796f\\u755b\\u9e29',\r\n 'zheng': '\\u84b8\\u6323\\u7741\\u5f81\\u72f0\\u4e89\\u6014\\u6574\\u62ef\\u6b63\\u653f\\u5e27\\u75c7\\u90d1\\u8bc1\\u8be4\\u5ce5\\u94b2\\u94ee\\u7b5d',\r\n 'zhi': '\\u829d\\u679d\\u652f\\u5431\\u8718\\u77e5\\u80a2\\u8102\\u6c41\\u4e4b\\u7ec7\\u804c\\u76f4\\u690d\\u6b96\\u6267\\u503c\\u4f84\\u5740\\u6307\\u6b62\\u8dbe\\u53ea\\u65e8\\u7eb8\\u5fd7\\u631a\\u63b7\\u81f3\\u81f4\\u7f6e\\u5e1c\\u5cd9\\u5236\\u667a\\u79e9\\u7a1a\\u8d28\\u7099\\u75d4\\u6ede\\u6cbb\\u7a92\\u536e\\u965f\\u90c5\\u57f4\\u82b7\\u646d\\u5e19\\u5fee\\u5f58\\u54ab\\u9a98\\u6809\\u67b3\\u6800\\u684e\\u8f75\\u8f7e\\u6534\\u8d3d\\u81a3\\u7949\\u7957\\u9ef9\\u96c9\\u9e37\\u75e3\\u86ed\\u7d77\\u916f\\u8dd6\\u8e2c\\u8e2f\\u8c78\\u89ef',\r\n 'zhong': '\\u4e2d\\u76c5\\u5fe0\\u949f\\u8877\\u7ec8\\u79cd\\u80bf\\u91cd\\u4ef2\\u4f17\\u51a2\\u953a\\u87bd\\u8202\\u822f\\u8e35',\r\n 'zhou': '\\u821f\\u5468\\u5dde\\u6d32\\u8bcc\\u7ca5\\u8f74\\u8098\\u5e1a\\u5492\\u76b1\\u5b99\\u663c\\u9aa4\\u5544\\u7740\\u501c\\u8bf9\\u836e\\u9b3b\\u7ea3\\u80c4\\u78a1\\u7c40\\u8233\\u914e\\u9cb7',\r\n 'zhu': '\\u73e0\\u682a\\u86db\\u6731\\u732a\\u8bf8\\u8bdb\\u9010\\u7af9\\u70db\\u716e\\u62c4\\u77a9\\u5631\\u4e3b\\u8457\\u67f1\\u52a9\\u86c0\\u8d2e\\u94f8\\u7b51\\u4f4f\\u6ce8\\u795d\\u9a7b\\u4f2b\\u4f8f\\u90be\\u82ce\\u8331\\u6d19\\u6e1a\\u6f74\\u9a7a\\u677c\\u69e0\\u6a65\\u70b7\\u94e2\\u75b0\\u7603\\u86b0\\u7afa\\u7bb8\\u7fe5\\u8e85\\u9e88',\r\n 'zhua': '\\u6293',\r\n 'zhuai': '\\u62fd',\r\n 'zhuan': '\\u4e13\\u7816\\u8f6c\\u64b0\\u8d5a\\u7bc6\\u629f\\u556d\\u989b',\r\n 'zhuang': '\\u6869\\u5e84\\u88c5\\u5986\\u649e\\u58ee\\u72b6\\u4e2c',\r\n 'zhui': '\\u690e\\u9525\\u8ffd\\u8d58\\u5760\\u7f00\\u8411\\u9a93\\u7f12',\r\n 'zhun': '\\u8c06\\u51c6',\r\n 'zhuo': '\\u6349\\u62d9\\u5353\\u684c\\u7422\\u8301\\u914c\\u707c\\u6d4a\\u502c\\u8bfc\\u5ef4\\u855e\\u64e2\\u555c\\u6d5e\\u6dbf\\u6753\\u712f\\u799a\\u65ab',\r\n 'zi': '\\u5179\\u54a8\\u8d44\\u59ff\\u6ecb\\u6dc4\\u5b5c\\u7d2b\\u4ed4\\u7c7d\\u6ed3\\u5b50\\u81ea\\u6e0d\\u5b57\\u8c18\\u5d6b\\u59ca\\u5b73\\u7f01\\u6893\\u8f8e\\u8d40\\u6063\\u7726\\u9531\\u79ed\\u8014\\u7b2b\\u7ca2\\u89dc\\u8a3e\\u9cbb\\u9aed',\r\n 'zong': '\\u9b03\\u68d5\\u8e2a\\u5b97\\u7efc\\u603b\\u7eb5\\u8159\\u7cbd',\r\n 'zou': '\\u90b9\\u8d70\\u594f\\u63cd\\u9139\\u9cb0',\r\n 'zu': '\\u79df\\u8db3\\u5352\\u65cf\\u7956\\u8bc5\\u963b\\u7ec4\\u4fce\\u83f9\\u5550\\u5f82\\u9a75\\u8e74',\r\n 'zuan': '\\u94bb\\u7e82\\u6525\\u7f35',\r\n 'zui': '\\u5634\\u9189\\u6700\\u7f6a',\r\n 'zun': '\\u5c0a\\u9075\\u6499\\u6a3d\\u9cdf',\r\n 'zuo': '\\u6628\\u5de6\\u4f50\\u67de\\u505a\\u4f5c\\u5750\\u5ea7\\u961d\\u963c\\u80d9\\u795a\\u9162',\r\n 'cou': '\\u85ae\\u6971\\u8f8f\\u8160',\r\n 'nang': '\\u652e\\u54dd\\u56d4\\u9995\\u66e9',\r\n 'o': '\\u5594',\r\n 'dia': '\\u55f2',\r\n 'chuai': '\\u562c\\u81aa\\u8e39',\r\n 'cen': '\\u5c91\\u6d94',\r\n 'diu': '\\u94e5',\r\n 'nou': '\\u8028',\r\n 'fou': '\\u7f36',\r\n 'bia': '\\u9adf'\r\n};\r\n","// import { pinyin } from './pyconst.js';\r\nimport { pinyin } from '@/base/utils/src/pyconst';\r\nexport default {\r\n chineseToPinYin: function (l1) {\r\n var l2 = l1.length;\r\n var I1 = '';\r\n var reg = new RegExp('[a-zA-Z0-9]');\r\n var zmReg = new RegExp('[a-zA-Z]');\r\n for (var i = 0; i < l2; i++) {\r\n var val = l1.substr(i, 1);\r\n if(reg.test(val))\r\n {\r\n I1 += val;\r\n continue;\r\n }\r\n var name = this.arraySearch(val, pinyin);\r\n if (reg.test(val)) {\r\n I1 += val;\r\n } else if (name !== false) {\r\n I1 += name;\r\n }\r\n }\r\n I1 = I1.replace(/ /g, '-');\r\n while (I1.indexOf('--') > 0) {\r\n I1 = I1.replace('--', '-');\r\n }\r\n return I1;\r\n },\r\n arraySearch: function (l1, l2) {\r\n for (var name in pinyin) {\r\n if (pinyin[name].indexOf(l1) !== -1) {\r\n return this.ucfirst(name);\r\n }\r\n }\r\n return false;\r\n },\r\n ucfirst: function (l1) {\r\n if (l1.length > 0) {\r\n var first = l1.substr(0, 1).toUpperCase();\r\n var spare = l1.substr(1, l1.length);\r\n return first + spare;\r\n }\r\n }\r\n}\r\n","\r\nimport md5 from \"js-md5\";\r\nimport DateFunc from \"@/base/utils/src/date\";\r\nimport pinyinUtil from './vue-py.js';\r\n\r\nconst STR = {\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 生成MD5\r\n\t * @description 生成MD5\r\n\t * @url md5(str)\r\n\t * @method $instance.md5(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tmd5: function (str) {\r\n\t\treturn md5(str);\r\n\t},\r\n\t/**\r\n * showdoc\r\n * @catalog API/工具/String\r\n * @title 获取中文首字母拼音\r\n * @description 获取中文首字母拼音\r\n * @url getFirstPY(str)\r\n * @method $instance.getFirstPY(str)\r\n * @param str 必选 String 需生成的字符 \r\n * @return String\r\n * @number 60 \r\n */\r\n\tgetFirstPY: function (str) {\r\n\t\tlet SX = '', pinyin;\r\n\t\tstr = str.toUpperCase();\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tpinyin = [];\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tpinyin.push(pinyinUtil.chineseToPinYin(str[i]));\r\n\t\t\t}\r\n\t\t}\r\n\t\telse\r\n\t\t\tpinyin = pinyinUtil.chineseToPinYin(str);\r\n\r\n\t\tif (pinyin.constructor == Array) {\r\n\t\t\tlet result = [];\r\n\t\t\tfor (let j = 0; j < pinyin.length; j++) {\r\n\t\t\t\tlet tempPY = pinyin[j], tempSX = \"\";\r\n\t\t\t\tfor (let i = 0; i < tempPY.length; i++) {\r\n\t\t\t\t\tlet c = tempPY.charAt(i);\r\n\t\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\t\ttempSX += c;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tresult.push(tempSX.toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tfor (let i = 0; i < pinyin.length; i++) {\r\n\t\t\t\tlet c = pinyin.charAt(i);\r\n\t\t\t\tif (/^[A-Z0-9]+$/.test(c)) {\r\n\t\t\t\t\tSX += c;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn SX.toLowerCase();\r\n\t\t}\r\n\r\n\t},\r\n\t//下载地址\r\n\tgetDownloadUrl(url, fileName) {\t\t\r\n\t\treturn window.eap.utils.biz.getDownloadUrl(url,fileName);;\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取中文全拼音\r\n\t * @description 获取中文全拼音\r\n\t * @url getPinyin(str)\r\n\t * @method $instance.getPinyin(str)\r\n\t * @param str 必选 String 需生成的字符 \r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tgetPinyin: function (str) {\r\n\t\tlet result = [];\r\n\t\tif (str.constructor == Array) {\r\n\t\t\tfor (let i = 0; i < str.length; i++) {\r\n\t\t\t\tresult.push(pinyinUtil.chineseToPinYin(str[i]).toLowerCase());\r\n\t\t\t}\r\n\t\t\treturn result;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn pinyinUtil.chineseToPinYin(str).toLowerCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定范围随机数\r\n\t * @description 获取中文全拼音\r\n\t * @url randomInt(min, max)\r\n\t * @method $instance.randomInt(min, max)\r\n\t * @param min 必选 Int 起止数字\r\n\t * @param max 必选 Int 结束数字\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\trandomInt: function (min, max) {\r\n\t\tvar Range = max - min;\r\n\t\tvar Rand = Math.random();\r\n\t\treturn (min + Math.round(Rand * Range));\r\n\t},\r\n\t//获取功能/流程路径\r\n\tgetBizUrl(url) {\r\n\t\tif (window.eap)\r\n\t\t\treturn window.eap.utils.biz.getUrl(url);\r\n\t\treturn url\r\n\t},\r\n\tgetUrlValue: function (name, url) {\r\n\t\tvar str = url || window.location.search;\r\n\t\tif (str.indexOf(\"&\" + name) != -1 || str.indexOf(\"?\" + name) != -1) {\r\n\t\t\tvar pos_start = \"\"\r\n\t\t\tif (str.indexOf(\"?\" + name) > -1)\r\n\t\t\t\tpos_start = str.indexOf(\"?\" + name) + name.length + 2;\r\n\t\t\telse\r\n\t\t\t\tpos_start = str.indexOf(\"&\" + name) + name.length + 2;\r\n\t\t\tvar pos_end = str.indexOf(\"&\", pos_start);\r\n\t\t\tif (pos_end == -1) {\r\n\t\t\t\treturn str.substring(pos_start);\r\n\t\t\t} else {\r\n\t\t\t\treturn str.substring(pos_start, pos_end)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t},\r\n\tsetUrlValue: function (url, pName, pValue) {\r\n\t\tif (url == null || url == '') {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar arrUrl = url.split('?');\r\n\t\tif (arrUrl.length <= 1) {\r\n\t\t\treturn url + '?' + pName + '=' + pValue;\r\n\t\t}\r\n\t\tvar paramArr = arrUrl[1].split('&');\r\n\t\tvar isAdd = true;\r\n\t\tfor (var i = 0; i < paramArr.length; i++) {\r\n\t\t\tvar valueArr = paramArr[i].split('=');\r\n\t\t\tif (valueArr[0] == pName) {\r\n\t\t\t\tparamArr[i] = pName + '=' + pValue;\r\n\t\t\t\tisAdd = false;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isAdd) {\r\n\t\t\tparamArr[paramArr.length] = pName + '=' + pValue;\r\n\t\t}\r\n\t\treturn arrUrl[0] + '?' + paramArr.join('&');\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取指定长度的ID\r\n\t * @description 获取指定长度的ID\r\n\t * @url id(len)\r\n\t * @method $instance.id(len)\r\n\t * @param len 必选 Int 长度\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tid: function (len) {\r\n\t\treturn (function (len, radix) {\r\n\t\t\tvar chars = '012abcdefghuwxyz34MNOPQRSTUV567ijklmnopqrst89ABCDEFGHIJKLWXYZ'\r\n\t\t\t\t.split('');\r\n\t\t\t// var chars = Scp.String.newGUID().replace(/-/g,\"\").split(\"\");\r\n\t\t\tvar uuid = [], i;\r\n\t\t\tradix = radix || chars.length;\r\n\r\n\t\t\tif (len) {\r\n\t\t\t\t// Compact form\r\n\t\t\t\tfor (i = 0; i < len; i++)\r\n\t\t\t\t\tuuid[i] = chars[0 | Math.random() * radix];\r\n\t\t\t} else {\r\n\t\t\t\t// rfc4122, version 4 form\r\n\t\t\t\tvar r;\r\n\r\n\t\t\t\t// rfc4122 requires these characters\r\n\t\t\t\tuuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n\t\t\t\tuuid[14] = '4';\r\n\r\n\t\t\t\t// Fill in random data. At i==19 set the high bits of clock\r\n\t\t\t\t// sequence as\r\n\t\t\t\t// per rfc4122, sec. 4.1.5\r\n\t\t\t\tfor (i = 0; i < 36; i++) {\r\n\t\t\t\t\tif (!uuid[i]) {\r\n\t\t\t\t\t\tr = 0 | Math.random() * 16;\r\n\t\t\t\t\t\tuuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn uuid.join('');\r\n\t\t})(len || 6, 61);\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 获取GUID\r\n\t * @description 获取GUID\r\n\t * @url guid()\r\n\t * @method $instance.guid()\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tguid: function () {\r\n\t\tvar nowDateTime = new Date();\r\n\t\tvar myRandom1 = this.randomInt(1, 1000);\r\n\t\tvar myRandom2 = this.randomInt(1, 1000);\r\n\t\tvar myRandom3 = this.randomInt(1, 1000);\r\n\t\tvar decodeStr = nowDateTime.valueOf() + \"-\"\r\n\t\t\t+ nowDateTime.getMilliseconds() + \"-\" + myRandom1 + \"-\"\r\n\t\t\t+ myRandom2 + \"-\" + myRandom3;\r\n\t\tvar encodeStr = this.md5(decodeStr);\r\n\t\tvar guid = encodeStr.substring(0, 8) + \"-\" + encodeStr.substring(8, 12)\r\n\t\t\t+ \"-\" + encodeStr.substring(12, 16) + \"-\"\r\n\t\t\t+ encodeStr.substring(16, 20) + \"-\"\r\n\t\t\t+ encodeStr.substring(20, 32);\r\n\t\treturn guid.toUpperCase();\r\n\t},\r\n\t/**\r\n\t * showdoc\r\n\t * @catalog API/工具/String\r\n\t * @title 字符格式化\r\n\t * @description 字符格式化\r\n\t * @url format()\r\n\t * @method $instance.format(str,$1,$2,$3......)\r\n\t * @param str 必选 String 需格式化的字符\r\n\t * @param $1 必选 String 需替换的$1\r\n\t * @param $2 必选 String 需替换的$2\r\n\t * @param $3 必选 String 需替换的$3\r\n\t * @return String\r\n\t * @number 60 \r\n\t */\r\n\tformat: function () {\r\n\t\tif (arguments.length == 0)\r\n\t\t\treturn '';\r\n\t\tvar argArray = Array.prototype.slice.call(arguments);\r\n\t\tvar result = argArray.shift();\r\n\r\n\t\tif (argArray.length == 1 && typeof (argArray[0]) == \"object\") {\r\n\t\t\tvar args = argArray[0];\r\n\t\t\tfor (var key in args) {\r\n\t\t\t\tif (args[key] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({\" + key + \"})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, args[key]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (var i = 0; i < argArray.length; i++) {\r\n\t\t\t\tif (argArray[i] != undefined) {\r\n\t\t\t\t\tlet reg = new RegExp(\"({)\" + i + \"(})\", \"g\");\r\n\t\t\t\t\tresult = result.replace(reg, argArray[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result;\r\n\t},\r\n\tcontrolGuid(key) {\r\n\t\treturn (key || '').replace(/[.|#|@|*|\\?|\\(|\\)|<|>|\\{|\\|\\^|\\$}]/gi, '_') + '_' + STR.id(8);\r\n\t},\r\n\tupperMoney(numberValue) {\r\n\t\tvar numberValue = new String(Math.round(Math.abs(numberValue) * 100)); // 数字金额\r\n\t\tvar chineseValue = \"\"; // 转换后的汉字金额\r\n\t\tvar String1 = \"零壹贰叁肆伍陆柒捌玖\"; // 汉字数字\r\n\t\tvar String2 = \"万仟佰拾亿仟佰拾万仟佰拾元角分\"; // 对应单位\r\n\t\tvar len = numberValue.length; // numberValue 的字符串长度\r\n\t\tvar Ch1; // 数字的汉语读法\r\n\t\tvar Ch2; // 数字位的汉字读法\r\n\t\tvar nZero = 0; // 用来计算连续的零值的个数\r\n\t\tvar String3; // 指定位置的数值\r\n\t\tif (len > 15) {\r\n\t\t\talert(\"超出计算范围\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t\tif (numberValue == 0) {\r\n\t\t\tchineseValue = \"零元整\";\r\n\t\t\treturn chineseValue;\r\n\t\t}\r\n\r\n\t\tString2 = String2.substr(String2.length - len, len); // 取出对应位数的STRING2的值\r\n\t\tfor (var i = 0; i < len; i++) {\r\n\t\t\tString3 = parseInt(numberValue.substr(i, 1), 10); // 取出需转换的某一位的值\r\n\t\t\tif (i != (len - 3) && i != (len - 7) && i != (len - 11)\r\n\t\t\t\t&& i != (len - 15)) {\r\n\t\t\t\tif (String3 == 0) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else if (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t}\r\n\t\t\t} else { // 该位是万亿,亿,万,元位等关键位\r\n\t\t\t\tif (String3 != 0 && nZero != 0) {\r\n\t\t\t\t\tCh1 = \"零\" + String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 != 0 && nZero == 0) {\r\n\t\t\t\t\tCh1 = String1.substr(String3, 1);\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = 0;\r\n\t\t\t\t} else if (String3 == 0 && nZero >= 3) {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = \"\";\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tCh1 = \"\";\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t\tnZero = nZero + 1;\r\n\t\t\t\t}\r\n\t\t\t\tif (i == (len - 11) || i == (len - 3)) { // 如果该位是亿位或元位,则必须写上\r\n\t\t\t\t\tCh2 = String2.substr(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchineseValue = chineseValue + Ch1 + Ch2;\r\n\t\t}\r\n\r\n\t\tif (String3 == 0) { // 最后一位(分)为0时,加上“整”\r\n\t\t\tchineseValue = chineseValue + \"整\";\r\n\t\t}\r\n\r\n\t\treturn chineseValue;\r\n\t},\r\n\tsplitAttach(val) {\r\n\t\tvar list = [];\r\n\t\tvar arr = val.split(\"|\");\r\n\t\tvar path = window.HIVUI_SETTING ? window.HIVUI_SETTING.review : \"\";\r\n\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\tvar item = arr[i];\r\n\t\t\tif (!item) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tlist.push({\r\n\t\t\t\tname: arr[i].split(\";\")[0],\r\n\t\t\t\tsize: arr[i].split(\";\")[1],\r\n\t\t\t\tpath: arr[i].split(\";\")[2],\r\n\t\t\t\turl: `${path}?relativePath=${arr[i].split(\";\")[2]}`,\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn list;\r\n\t}\r\n}\r\nexport default STR\r\n\r\n","import number from './number'\r\nimport date from './date'\r\nlet _this = {\r\n dbString: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbString\",\r\n formType: {\r\n element: \"el-input\"\r\n }\r\n },\r\n dbInt: {\r\n format: function (v, format) {\r\n v = parseInt(v);\r\n if (format == \"eleAuditPoint\") {\r\n let val = \"\"\r\n switch (v) {\r\n case 0:\r\n val = \"已审核\"\r\n break;\r\n case 1:\r\n val = \"运行中\"\r\n break;\r\n case 99:\r\n val = \"终止\"\r\n break;\r\n case 2:\r\n val = \"审批中\"\r\n break;\r\n default:\r\n val = isNaN(v) ? \"\" : v\r\n }\r\n return val;\r\n }\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n let val = _this.dbInt.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n // 数值型默认值不设置\r\n defautlVal: 0,\r\n type: \"dbInt\",\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n precision: 0,\r\n \"controls-position\": \"right\"\r\n }\r\n }\r\n\r\n },\r\n dbFloat: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbFloat.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbFloat\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbDouble: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n v = parseFloat(v);\r\n if (isNaN(v)) {\r\n return \"\";\r\n }\r\n v = v * 1.0;\r\n if (!format)\r\n return v;\r\n return number.format(v, format);\r\n },\r\n formatView: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n var val = _this.dbDouble.format(v, format);\r\n if (format && format.indexOf('%') > 0) {\r\n if (v > 0) {\r\n return '<font color=\"red\">' + val + '</font>';\r\n } else {\r\n return '<font color=\"green\">' + val + '</font>';\r\n }\r\n }\r\n return val;\r\n },\r\n type: \"dbDouble\",\r\n formType: {\r\n element: \"hi-number\",\r\n props: {\r\n \"controls-position\": \"right\"\r\n }\r\n },\r\n queryType: {\r\n element: \"HiNumberRange\"\r\n },\r\n defautlVal: 0\r\n },\r\n dbText: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n formatView: function (v, format) {\r\n if (!format)\r\n return v;\r\n return v;\r\n },\r\n type: \"dbText\",\r\n formType: {\r\n element: \"el-input\",\r\n props: {\r\n type: \"textarea\",\r\n rows: 5\r\n }\r\n },\r\n queryType: {\r\n element: \"el-input\",\r\n props: {\r\n\r\n }\r\n },\r\n gridType: {\r\n element: \"hi-textarea\",\r\n props: {\r\n popup: true,\r\n rows: 5\r\n }\r\n }\r\n },\r\n dbBoolean: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v === \"\") {\r\n return \"\";\r\n }\r\n if (typeof v != \"boolean\") {\r\n if (v * 1 == v) {\r\n v = parseInt(v);\r\n }\r\n }\r\n\r\n return (typeof v == \"boolean\" || typeof v == \"number\") ? (v\r\n ? \"是\"\r\n : \"否\") : v;\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbBoolean.format(v, format);\r\n },\r\n parse: function (v) {\r\n if (v == \"yes\" || v == \"是\" || v == \"1\" || v == \"true\"\r\n || v == \"y\")\r\n return true;\r\n else\r\n return false;\r\n },\r\n type: \"dbBoolean\",\r\n queryType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n },\r\n formType: {\r\n element: \"el-checkbox\",\r\n props: {\r\n }\r\n }\r\n\r\n },\r\n dbDatetime: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n /**\r\n * @property datetime.type\r\n * @description datetime类型\r\n * @type {String}\r\n * @final\r\n * @static\r\n */\r\n type: \"dbDatetime\",\r\n queryType: {\r\n element: \"HiTimeScheme\"\r\n },\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n\r\n }\r\n },\r\n\r\n dbTimestamp: {\r\n format: function (v, format) {\r\n if (typeof (format) == \"function\") {\r\n return format.call(window, v);\r\n }\r\n if (v == null || v == \"\")\r\n return v;\r\n format = format || \"yyyy-MM-dd hh:mm:ss\";\r\n\r\n if (typeof v == \"string\")\r\n v = date.strToDate(v);\r\n return date.format(v, format)\r\n },\r\n formatView: function (v, format) {\r\n return _this.dbDatetime.format(v, format);\r\n },\r\n type: \"dbTimestamp\",\r\n formType: {\r\n element: \"el-date-picker\",\r\n props: {\r\n type: \"datetime\"\r\n }\r\n }\r\n },\r\n dbBasic: {\r\n type: \"dbBasic\"\r\n },\r\n dbArray: {\r\n type: \"dbArray\"\r\n },\r\n dbObject: {\r\n type: \"dbObject\"\r\n },\r\n dbList: {\r\n type: \"dbList\"\r\n }\r\n}\r\n_this.dbDate = _this.dbDatetime;\r\n\r\nexport default _this;","const bom = {\r\n getUrlParam(name) {\r\n let search = window.location.search;\r\n search = search.substring(1, search.length)\r\n let values = search.split(\"&\");\r\n let result = {};\r\n for (let i = 0; i < values.length; i++) {\r\n const element = values[i];\r\n let _val = element.split(\"=\");\r\n result[_val[0]] = _val[1];\r\n }\r\n if (name)\r\n return result[name];\r\n return result;\r\n },\r\n //打开链接\r\n openUrl(url, target) {\r\n //创建form表单\r\n url = window.eap.utils.biz.getUrl(url);\r\n var formredwin = document.createElement(\"form\");\r\n formredwin.method = \"POST\";\r\n document.body.appendChild(formredwin);\r\n formredwin.target = target;\r\n formredwin.action = url\r\n formredwin.submit();\r\n formredwin.parentNode.removeChild(formredwin);\r\n },\r\n mergeDefaultCfg(defaultCmp, controlCfg) {\r\n var result = null;\r\n var tempdefaultCmp = defaultCmp;\r\n for (var key in controlCfg) {\r\n if ((typeof controlCfg[key]) == \"object\") {\r\n controlCfg[key] = bom.recursionCfg(tempdefaultCmp, controlCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[controlCfg[\"crlName\"]] != undefined) {\r\n controlCfg = Object.assign({}, tempdefaultCmp[controlCfg[\"crlName\"]], controlCfg);\r\n }\r\n }\r\n return controlCfg;\r\n },\r\n\r\n recursionCfg(defaultCmp, recuCfg) {\r\n var tempdefaultCmp = defaultCmp;\r\n var result = null;\r\n for (var key in recuCfg) {\r\n if ((typeof recuCfg[key]) == \"object\") {\r\n recuCfg[key] = bom.recursionCfg(tempdefaultCmp, recuCfg[key]);\r\n }\r\n if (key == \"crlName\" && tempdefaultCmp[recuCfg[\"crlName\"]] != undefined) {\r\n recuCfg = Object.assign({}, tempdefaultCmp[recuCfg[\"crlName\"]], recuCfg);\r\n }\r\n }\r\n return recuCfg;\r\n }\r\n}\r\nexport default bom"," \r\nimport _date from \"./src/date\"\r\nimport _number from \"./src/number\"\r\nimport _string from \"./src/string\"\r\nimport _dbType from \"./src/dbType\"\r\nimport _bom from \"./src/bom\"\r\nexport let date=_date;\r\nexport let number=_number;\r\nexport let string=_string;\r\nexport let dbType = _dbType;\r\nexport let bom = _bom;\r\n\r\nexport default {\r\n date,number,string,dbType,bom\r\n};\r\n\r\n\r\n\r\n\r\nexport let DateUtil=_date;\r\nexport let NumberUtil=_number;\r\nexport let StringUtil=_string;\r\nexport let DbTypeUtil = _dbType;\r\nexport let BomUtil = _bom;\r\n ","import Where from \"./where\"\r\nimport Orders from \"./orders\"\r\nimport keys from \"./keys\"\r\nimport utils from '../../../utils'\r\nexport default class Param {\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 构造函数 constructor\r\n * @description 构造函数\r\n * @url constructor(config = {})\r\n * @method \r\n * @return void\r\n * @number 1\r\n */\r\n constructor(config) {\r\n config = config || {};\r\n this.orders = null\r\n this.className = 'Params'\r\n this.paramKey = \"queryParam\"\r\n // _.extend(this, config);\r\n this.where = config.where|| new Where();\r\n this.returnTotal = config.returnTotal;\r\n this.zcQuery = config.zcQuery; \r\n\r\n this.orders = config.orders;\r\n if (config.paramsData || config.paramsData == \"null\") {\r\n this.setJsonParamsData(config.paramsData);\r\n }\r\n if (config.whereData || config.whereData == \"null\") {\r\n this.setJsonWhereData(config.whereData);\r\n }\r\n }\r\n createWhereByModel(values, model) {\r\n model = model || {}\r\n let where = new Where();\r\n for (let field in values) {\r\n let bizFiled = model.fields ? model.fields[field] : null;\r\n let val = values[field]\r\n if (val != null && val != \"\" && val != undefined) {\r\n if (bizFiled) {\r\n where[bizFiled.operate](field, val)\r\n } else {\r\n if (utils.isArray(val))\r\n where.in(field, val)\r\n else\r\n where.def(field, val)\r\n }\r\n }\r\n }\r\n if (this.where)\r\n this.where.addConditions(where)\r\n else this.where = where;\r\n return where;\r\n }\r\n setJsonWhereData(whereData) {\r\n // 判断传入的值是否字符\r\n if (!whereData)\r\n return;\r\n this.where = new Where({\r\n criterionData: whereData\r\n });\r\n }\r\n\r\n setJsonParamsData(paramsData) {\r\n // 判断传入的值是否字符\r\n if (!paramsData)\r\n return;\r\n var paramsDataType = typeof (paramsData);\r\n var objParamsData = {};\r\n switch (paramsDataType) {\r\n case \"string\":\r\n objParamsData = JSON.parse(paramsData);\r\n break;\r\n case \"object\":\r\n objParamsData = paramsData;\r\n break;\r\n }\r\n if (objParamsData.queryCdions) {\r\n this.where = new Where({\r\n criterionData: objParamsData.queryCdions\r\n });\r\n }\r\n if (objParamsData.orders) {\r\n this.orders = new Orders({\r\n orderData: objParamsData.orders\r\n });\r\n }\r\n if (objParamsData.having) {\r\n this.having = new Where({\r\n criterionData: objParamsData.having.criterion\r\n });\r\n }\r\n if (objParamsData.groupBy) {\r\n this.groupBy = objParamsData.groupBy\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置分组 setGroup\r\n * @description 设置分组\r\n * @url setGroup(groupFields)\r\n * @method $instance.setGroup(groupFields)\r\n * @param groupFields 必选 Array 分组字段\r\n * @return void\r\n * @number 60\r\n */\r\n setGroup(groupFields) {\r\n this.groupBy = groupFields;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取分组 setGroup\r\n * @description 获取分组\r\n * @url setGroup()\r\n * @method $instance.setGroup()\r\n * @return Array\r\n * @number 60\r\n */\r\n getGroup() {\r\n return this.groupBy;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取where条件 getWhere\r\n * @description 获取where条件\r\n * @url getWhere()\r\n * @method $instance.getWhere()\r\n * @return Where\r\n * @number 60\r\n */\r\n getWhere() {\r\n return this.where;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置where条件 setWhere\r\n * @description 设置where条件\r\n * @url setWhere(where)\r\n * @method $instance.setWhere(where)\r\n * @param where 必选 where where对象\r\n * @return void\r\n * @number 60\r\n */\r\n setWhere(where) {\r\n this.where = where;\r\n } \r\n \r\n setHaving(where) {\r\n this.having = where;\r\n }\r\n getHaving() {\r\n return this.having;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取排序条件 getOrders\r\n * @description 获取排序条件\r\n * @url getOrders()\r\n * @method $instance.getOrders()\r\n * @return void\r\n * @number 60\r\n */\r\n getOrders() {\r\n return this.orders;\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 设置排序条件 setOrders\r\n * @description 设置排序条件\r\n * @url setOrders(orders)\r\n * @method $instance.setOrders(orders)\r\n * @param orders 必选 order对象\r\n * @return void\r\n * @number 60\r\n */\r\n setOrders(orders) {\r\n this.orders = orders;\r\n } \r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 获取param JSON toJSON\r\n * @description 获取param JSON\r\n * @url toJSON()\r\n * @method $instance.toJSON()\r\n * @return where\r\n * @number 60\r\n */\r\n toJSON() {\r\n var params = {};\r\n // params.having = {};\r\n if (this.where) {\r\n var mycriterion = this.where.toJSON();\r\n if (mycriterion) {\r\n params.queryCdions = this.where.toJSON();\r\n }\r\n }\r\n /*\r\n * // if (this.having) { // var mycriterion = this.having.toJSON(); //\r\n * if (mycriterion) { // // params.having.criterion =\r\n * this.having.toJSON(); // } // }\r\n */\r\n if (this.groupBy) {\r\n params.groupBy = this.groupBy;\r\n }\r\n if (this.orders) {\r\n params.orderBy = this.orders.toJSON();\r\n }\r\n return params;\r\n } \r\n decodeStr(s) {\r\n return unescape(s.replace(/\\\\(u[0-9a-fA-F]{4})/gm, '%$1'));\r\n } \r\n toStringWithKey() {\r\n var json = {}, param = {};\r\n // param[this.paramKey] = this.toJSON()\r\n let body = JSON.stringify(this.toJSON());\r\n json[keys.body] = body;\r\n json[keys.pageIndex] = this.where[keys.pageIndex];\r\n json[keys.pageSize] = this.where[keys.pageSize];\r\n json[keys.returnTotal] = this.returnTotal;\r\n json[keys.zcQuery] = this.zcQuery;\r\n \r\n return json;// this.toJSON();\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/工具/Param参数\r\n * @title 将条件转成字符结果 JSON toStr\r\n * @description 将条件转成字符结果\r\n * @url toStr()\r\n * @method $instance.toStr()\r\n * @return String\r\n * @number 60\r\n */\r\n toStr() {\r\n return JSON.stringify(this.toJSON());\r\n } \r\n}","import Where from \"./where\"\r\nimport Param from \"./param\"\r\nimport types from \"./types\"\r\nimport Orders from \"./orders\"\r\nimport isArray from \"lodash/isArray\"\r\nimport isDate from \"lodash/isDate\"\r\nimport { date } from \"../../../utils/\"\r\nimport keys from \"./keys\"\r\n\r\n\r\n//行转列\r\nlet rowToCol = (data, rowField, colField, valField) => {\r\n let result = [], row = {};\r\n if (data.length > 0) {\r\n let rowSign = row[rowField] = data[0][rowField];\r\n data.forEach(element => {\r\n //标识不一样就创建行\r\n if (rowSign != element[rowField]) {\r\n result.push(row);\r\n row = {};\r\n rowSign = element[rowField]\r\n row[rowField] = rowSign;\r\n }\r\n row[element[colField]] = element[valField]\r\n });\r\n result.push(row);\r\n }\r\n return result;\r\n}\r\n/**\r\n* showdoc\r\n* @catalog API/数据/数据请求/查询/queryHelper\r\n* @title 查询数据 query\r\n* @description 查询数据\r\n* @url query()\r\n* @method queryHelper.query()\r\n* @param options 必选 json|Where|Params 查询条件\r\n* @param modelFile 必选 string 数据集路径\r\n* @param options 必选 查询选项\r\n* @param options.request 必选 axios 请求对象\r\n* @param options.url 必选 url 请求rul\r\n* @return Promise\r\n* @number 100\r\n*/\r\nlet query = (param, modelFile, funcPath, { request, url, method, pn, extParam, rowToCol }) => {\r\n let data = {\r\n \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n data = paramInstance.toStringWithKey()\r\n }\r\n data.modelFilePath = modelFile;\r\n data[keys.funcpath] = funcPath;\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl = url;\r\n funcPath = funcPath || \"\"\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: data\r\n })\r\n // promise.then(res => {\r\n // //行转列\r\n // if (rowToCol && rowToCol.rowField) {\r\n // res.dataPack.row = rowToCol(res.dataPack.row)\r\n // }\r\n // })\r\n\r\n return promise\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, { request, url, method, pn, extParam }) => {\r\n let data = {\r\n // \"queryCdion\": \"{}\"\r\n }\r\n\r\n if (param) {\r\n let paramInstance\r\n if (param.className == \"Where\") {\r\n paramInstance = new Param(); //new queryParam.Param()\r\n paramInstance.where = param\r\n }\r\n else if (param.className == \"Params\") {\r\n paramInstance = param\r\n } else {\r\n paramInstance = new Param();\r\n let pageSize = null, pageIndex = null;\r\n let where = new Where();\r\n for (let field in param) {\r\n let val = param[field]\r\n if (field == '$pageSize') {\r\n pageSize = val;\r\n continue;\r\n }\r\n if (field == '$pageIndex') {\r\n pageIndex = val;\r\n continue;\r\n }\r\n if (isArray(val)) {\r\n if (isDate(val[0])) {\r\n where.between(field, date.format(val[0], \"yyyy-MM-dd hh:mm:ss\") + '到' + date.format(val[1], \"yyyy-MM-dd hh:mm:ss\"))\r\n } else\r\n where.in(field, val)\r\n }\r\n else\r\n where.def(field, val)\r\n\r\n }\r\n if (pageSize !== null && pageIndex !== null)\r\n where.setPage(pageIndex, pageSize)\r\n paramInstance.where = where\r\n }\r\n\r\n data[keys.body] = paramInstance.toJSON()//paramInstance.toStringWithKey()\r\n data[keys.pageIndex] = paramInstance.where[keys.pageIndex];\r\n data[keys.pageSize] = paramInstance.where[keys.pageSize];\r\n //delete data[keys.zcQuery]\r\n //delete data[keys.returnTotal]\r\n }\r\n data[keys.funcpath] = funcPath;\r\n data.modelFilePath = modelFile;\r\n if (param.zcQuery)\r\n data[keys.slaveExport] = param.zcQuery\r\n\r\n //将来要移到url中\r\n //data.funcPath = funcPath;\r\n\r\n if (extParam) {\r\n if (extParam.sheetStyle) {\r\n data[keys.sheetStyle] = extParam.sheetStyle;//JSON.stringify(extParam.sheetStyle);\r\n delete extParam.sheetStyle\r\n }\r\n Object.assign(data, extParam);\r\n }\r\n let promise\r\n //let dataUrl = url + \"/\" + modelFile;\r\n let dataUrl;\r\n funcPath = funcPath || \"\"\r\n dataUrl = url;\r\n\r\n if (pn) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?pn=\" + pn;\r\n else\r\n dataUrl = dataUrl + \"&pn=\" + pn;\r\n }\r\n let psotData = {}\r\n if (data.title) {\r\n psotData.title = data.title;\r\n delete data.title;\r\n }\r\n psotData[keys.sheetDatas] = JSON.stringify([data])\r\n \r\n promise = request({\r\n url: dataUrl,\r\n method: method || 'post',\r\n data: psotData\r\n })\r\n\r\n return promise\r\n}\r\n\r\nexport default {\r\n Param,\r\n Where,\r\n types,\r\n Orders,\r\n query,\r\n exportData,\r\n rowToCol\r\n}\r\n","import isDate from 'lodash/isDate'\r\nimport { date } from '../../../utils'\r\nimport cloneDeep from \"lodash/cloneDeep\"\r\nexport const paramKey = {\r\n //subSetkeyVal:\"$subSetkeyVal\",\r\n root: '__body',\r\n version: \"__version\",\r\n data: 'data',\r\n funcPath: \"__funcpath\",\r\n modelFile: 'modelFilePath',\r\n funcFile: 'fpath',\r\n state: '$state',\r\n old: '$old',\r\n insertStateVal: 'rsInsert',\r\n updateStateVal: 'rsUpdate',\r\n removeStateVal: 'rsDelete',\r\n overrideStateVal: 'rsOverride'\r\n}\r\n\r\nexport default class SavePackHelper {\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 构造函数 constructor\r\n * @description 保存助手构造函数\r\n * @url constructor\r\n * @method new SavePackHelper(modelFile, { request, url })\r\n * @param modelFile 必选 string 数据集路径\r\n * @param options 必选 json 请求选项\r\n * @param options.request 必选 axios 请求对象\r\n * @param options.url 必选 url 请求rul\r\n * @return SavePackHelper\r\n * @number 100\r\n */\r\n constructor(modelFile, funcPath, { request, url, pn, extParam, colToRow }) {\r\n this.className = \"SavePackHelper\"\r\n this.modelFile = modelFile;\r\n this.request = request;\r\n this.colToRow = colToRow;\r\n this._appendSavePack=[];\r\n funcPath = (funcPath || \"\")\r\n this.url = url;\r\n // if (url.endsWith(\"/\") == false && funcPath.startsWith(\"/\") == false)\r\n // this.url = url + \"/\" + (funcPath || \"\");\r\n // else\r\n // this.url = url + (funcPath || \"\");\r\n this.funcPath = funcPath;\r\n\r\n this.extParam = extParam;\r\n this.pn = pn;\r\n\r\n this.dataPacks = {};\r\n this.dataPacks[paramKey.data] = [];\r\n this.dataPacks[paramKey.modelFile] = this.modelFile;\r\n\r\n //this.dataPacks[paramKey.funcPath] = this.funcPath;\r\n\r\n }\r\n\r\n //新增或删除包行转列\r\n insertOrDeletePackageColToRow(data) {\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}\r\n _row[dynamic.rowField] = data[rowField] || (new Date()).valueOf();\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\"))\r\n continue;\r\n let row = cloneDeep(_row);\r\n row[colField] = colName;\r\n row[valField] = data[colName];\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n //更新包行转列\r\n updatePackageColToRow(data) {\r\n debugger\r\n let dynamic = this.colToRow, result = [],\r\n colField = dynamic.colField,\r\n valField = dynamic.valField,\r\n rowField = dynamic.rowField;\r\n //组装系统关键字字段\r\n let _row = {}, _$old = {}\r\n _$old[dynamic.rowField] = data[paramKey.old][rowField]\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n _row[colName] = data[colName];\r\n }\r\n }\r\n\r\n for (let colName in data) {\r\n if (colName.startsWith(\"$\")) {\r\n continue;\r\n }\r\n let row = cloneDeep(_row);\r\n let $old = cloneDeep(_$old);\r\n row[valField] = data[colName];\r\n $old[valField] = data[paramKey.old][colName];\r\n $old[colField] = colName;\r\n row[paramKey.old] = $old;\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n //转数据\r\n conversion(data) {\r\n if (data) {\r\n const result = {}\r\n for (const key in data) {\r\n const val = data[key]\r\n if (val === undefined)\r\n continue;\r\n if (isDate(val)) {\r\n result[key] = date.format(val, 'yyyy-MM-dd hh:mm:ss')\r\n }\r\n else if (val != null && typeof (val) == 'object' && !val[paramKey.modelFile]) {\r\n result[key] = JSON.stringify(val);\r\n }\r\n else {\r\n // if (paramKey.subSetkeyVal == val[paramKey.modelFile]){\r\n // delete val[paramKey.modelFile]\r\n // }\r\n result[key] = val\r\n }\r\n }\r\n return result\r\n }\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 新增数据 add\r\n * @description 新增数据包\r\n * @url add(data)\r\n * @method $instance.add(data)\r\n * @param data 必选 json 数据\r\n * @return void\r\n * @number 200\r\n */\r\n add(data) {\r\n var me = this\r\n data = this.conversion(data)\r\n data[paramKey.state] = paramKey.insertStateVal\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 更新数据 update\r\n * @description 更新数据包\r\n * @url update(old, data)\r\n * @method $instance.update(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新的数据)必须包含主键字段\r\n * @return void\r\n * @number 300\r\n */\r\n update(old, data) {\r\n var me = this\r\n var row = {}\r\n data = this.conversion(data)\r\n old = this.conversion(old)\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.updateStateVal\r\n row[paramKey.old] = old\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n setRedundant(old, data) {\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 override\r\n * @description 重写数据包,数据库中有该数据就更新,没有则新增\r\n * @url override(old, data)\r\n * @method $instance.override(old, data)\r\n * @param old 必选 json 旧数据(原数据)\r\n * @param data 必选 json 新数据(要更新或新增的数据)必须包含主键字段\r\n * @return void\r\n * @number 400\r\n */\r\n override(old, data) {\r\n if (!data) {\r\n data = old;\r\n old = null;\r\n }\r\n if (old)\r\n old = this.conversion(old)\r\n data = this.conversion(data)\r\n var me = this\r\n var row = {}\r\n for (var a in data) {\r\n if (data[a] === void 0) { continue }\r\n row[a] = data[a]\r\n }\r\n row[paramKey.state] = paramKey.overrideStateVal\r\n if (old)\r\n row[paramKey.old] = old\r\n\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.updatePackageColToRow(row))\r\n } else\r\n me.dataPacks[paramKey.data].push(row)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 重写数据 remove\r\n * @description 删除数据\r\n * @url remove(data)\r\n * @method $instance.remove( data)\r\n * @param data 必选 json 要删除据数据,必须包含主键字段\r\n * @return void\r\n * @number 500\r\n */\r\n remove(data) {\r\n var me = this\r\n data[paramKey.state] = paramKey.removeStateVal\r\n data = this.conversion(data)\r\n if (this.colToRow && this.colToRow.rowField) {\r\n me.dataPacks[paramKey.data] = me.dataPacks[paramKey.data].concat(this.insertOrDeletePackageColToRow(data))\r\n } else\r\n me.dataPacks[paramKey.data].push(data)\r\n }\r\n /**\r\n * @method toStr\r\n * @description 获取数据包字符串\r\n */\r\n toString() {\r\n return JSON.stringify(this.dataPacks)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 清空数据包 clear\r\n * @description 清空数据包\r\n * @url clear()\r\n * @method $instance.clear()\r\n * @return void\r\n * @number 600\r\n */\r\n clear() {\r\n this.dataPacks = {}\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 获取数据包 getDataPack\r\n * @description 获取数据包\r\n * @url getDataPack()\r\n * @method $instance.getDataPack()\r\n * @return json\r\n * @number 700\r\n */\r\n getDataPack() {\r\n return this.dataPacks\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 是否含有数据包 isEmpty\r\n * @description 是否含有数据包\r\n * @url isEmpty()\r\n * @method $instance.isEmpty()\r\n * @return void\r\n * @number 800\r\n */\r\n isEmpty() {\r\n if (this.dataPacks[paramKey.data] && this.dataPacks[paramKey.data].length > 0)\r\n return false;\r\n return true;\r\n }\r\n //追加保存包\r\n appendSavePack(savePack){\r\n this._appendSavePack.push(savePack)\r\n }\r\n /**\r\n * showdoc\r\n * @catalog API/数据/数据请求/保存/SavePackHelper\r\n * @title 提交数据 save\r\n * @description 提交数据包\r\n * @url save()\r\n * @method $instance.save()\r\n * @param options 非必选 json 提交时的附加参数\r\n * @return Promise\r\n * @number 900\r\n */\r\n save(options, beforeSubmitCallBack) {\r\n options = options || {};\r\n let param = {}\r\n this._appendSavePack.unshift(this.getDataPack())\r\n param[paramKey.root] = JSON.stringify(this._appendSavePack)\r\n param[paramKey.version] = \"1.0.0\"\r\n param[paramKey.funcPath] = this.funcPath;\r\n\r\n if (this.extParam)\r\n Object.assign(param, this.extParam);\r\n Object.assign(param, options)\r\n\r\n if (beforeSubmitCallBack) {\r\n beforeSubmitCallBack.call(this, options, param, param[paramKey.root]);\r\n }\r\n\r\n let url = this.url\r\n if (this.pn) {\r\n if (url.indexOf('?') == -1)\r\n url = url + \"?pn=\" + this.pn;\r\n else\r\n url = url + \"&pn=\" + this.pn;\r\n }\r\n\r\n return this.request({\r\n url: url,\r\n method: 'post',\r\n data: param\r\n })\r\n\r\n\r\n }\r\n}","import hiSetting from '@/hiSetting';\r\n// 审批意见\r\nlet getApprovalInfo = ({ request, url, ftaskguid, flowtype }) => {\r\n let promise\r\n let dataUrl = url || hiSetting.getApprovalInfo\r\n if (ftaskguid) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?ftaskguid=\" + ftaskguid;\r\n else\r\n dataUrl = dataUrl + \"&ftaskguid=\" + ftaskguid;\r\n }\r\n if (flowtype) {\r\n if (dataUrl.indexOf('?') == -1)\r\n dataUrl = dataUrl + \"?flowtype=\" + flowtype;\r\n else\r\n dataUrl = dataUrl + \"&flowtype=\" + flowtype;\r\n }\r\n\r\n promise = request({\r\n url: dataUrl,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 处理流程\r\nlet processFlow = ({ request, url, data, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.processFlow;\r\n let __data = {\r\n __body: JSON.stringify(data),\r\n }\r\n if (param) {\r\n Object.assign(__data, param)\r\n }\r\n promise = request({\r\n url: dataUrl,\r\n data: __data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 任务中心查询\r\nlet queryTask = ({ request, url, param }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.queryTask;\r\n promise = request({\r\n url: dataUrl,\r\n data: param,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n// 打开流程接口\r\nlet getFlowInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url || hiSetting.getFlowInfo,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\n// 单号打开流程接口\r\nlet openOrdernumber = ({ request, fordernumber, url }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.openOrdernumber;\r\n let openurl = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: openurl,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n// 撤回\r\nlet withdrawtask = ({ request, url, ftaskguid }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.withdrawtask;\r\n let path = `${dataUrl}?ftaskguid=${ftaskguid}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 反审\r\nlet umpireOrder = ({ request, url, fordernumber }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.umpireOrder;\r\n let path = `${dataUrl}?fordernumber=${fordernumber}`\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\n// 流程监控\r\nlet taskDiagram = ({ request, url, forderguid, fmodelpath, fversion }) => {\r\n let promise;\r\n let dataUrl = url || hiSetting.taskDiagram;\r\n let path = `${dataUrl}?fmodelpath=${fmodelpath}&fversion=${fversion}`\r\n if (forderguid) {\r\n path = path + \"&forderguid=\" + forderguid\r\n }\r\n promise = request({\r\n url: path,\r\n method: 'get'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getApprovalInfo,\r\n processFlow,\r\n queryTask,\r\n getFlowInfo,\r\n withdrawtask,\r\n taskDiagram,\r\n openOrdernumber,\r\n umpireOrder\r\n}\r\n","// 打开功能接口\r\nlet getFuncInfo = ({ request, url, data }) => {\r\n let promise;\r\n promise = request({\r\n url: url,\r\n data: data,\r\n method: 'post'\r\n })\r\n return promise\r\n}\r\n\r\nexport default {\r\n getFuncInfo\r\n}\r\n","\r\nimport queryHelper from \"./queryHelper\"\r\nimport saveHelper from \"./saveHelper\"\r\nimport flowHelper from \"./flowHelper\"\r\nimport funcHelper from \"./funcHelper\"\r\n\r\nexport default {\r\n queryHelper,\r\n saveHelper,\r\n flowHelper,\r\n funcHelper\r\n}\r\n","import dataHelper from \"./src\";\r\nexport default dataHelper;","\r\n//调用org方法时一定要在service.js/initUser()之后\r\nexport default {\r\n /**\r\n * 当前用户ID\r\n *\r\n * @return\r\n */\r\n userId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前用户姓名\r\n *\r\n * @return\r\n */\r\n userName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前用户部门ID\r\n *\r\n * @return\r\n */\r\n deptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgid;\r\n },\r\n\r\n /**\r\n * 当前用户部门名称\r\n *\r\n * @return\r\n */\r\n deptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.forgname;\r\n },\r\n\r\n /**\r\n * 当前用户岗位ID\r\n *\r\n * @return\r\n */\r\n roleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户岗位名称\r\n *\r\n * @return\r\n */\r\n roleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前用户编制ID\r\n *\r\n * @return\r\n */\r\n bzId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前用户编制名称\r\n *\r\n * @return\r\n */\r\n bzName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制部门ID\r\n *\r\n * @return\r\n */\r\n bzDeptId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptid;\r\n },\r\n\r\n /**\r\n * 当前用户编制部门名称\r\n *\r\n * @return\r\n */\r\n bzDeptName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fdeptname;\r\n },\r\n\r\n /**\r\n * 当前用户编制岗位ID\r\n *\r\n * @return\r\n */\r\n bzRoleId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.froleid;\r\n },\r\n\r\n\r\n /**\r\n * 当前用户编制岗位名称\r\n *\r\n * @return\r\n */\r\n bzRoleName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.frolename;\r\n },\r\n\r\n /**\r\n * 当前代理用户ID\r\n *\r\n * @return\r\n */\r\n proxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前代理用户姓名\r\n *\r\n * @return\r\n */\r\n proxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n /**\r\n * 当前代理编制ID\r\n *\r\n * @return\r\n */\r\n bzProxyId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前代理编制名称\r\n *\r\n * @return\r\n */\r\n bzProxyName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname\r\n },\r\n\r\n /**\r\n * 当前直属上级用户ID\r\n *\r\n * @return\r\n */\r\n superId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserid;\r\n },\r\n\r\n /**\r\n * 当前直属上级用户姓名\r\n *\r\n * @return\r\n */\r\n superName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fusername;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制ID\r\n *\r\n * @return\r\n */\r\n bzSuperId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzid;\r\n },\r\n\r\n /**\r\n * 当前直属上级编制名称\r\n *\r\n * @return\r\n */\r\n bzSuperName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fbzname;\r\n },\r\n\r\n /**\r\n * 当前用户组织机构路径\r\n *\r\n * @return\r\n */\r\n orgPath: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgpath;\r\n },\r\n orgName: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgname;\r\n },\r\n orgId: function () {\r\n if (!window.eap.userInfo)\r\n return \"\";\r\n return window.eap.userInfo.fuserorgid;\r\n },\r\n\r\n\r\n /**\r\n * 根据岗位ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param roleId\r\n * @return\r\n */\r\n getBzByRole: function (roleId) {\r\n\r\n return []\r\n },\r\n\r\n /**\r\n * 根据部门ID获取用户编制号列表,逗号隔开\r\n *\r\n * @param deptId\r\n * @return\r\n */\r\n getBzByDept: function (deptId) {\r\n\r\n return \"\";\r\n },\r\n\r\n /**\r\n * 根据当前用户岗位ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByRole: function () {\r\n return getBzByRole(roleId());\r\n },\r\n\r\n /**\r\n * 根据当前用户部门ID获取编制号列表,逗号隔开\r\n *\r\n * @return\r\n */\r\n getBzByDept: function () {\r\n return getBzByDept(deptId());\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\";\r\nimport OrgFunc from \"@/eap/user/org.js\";\r\nconst modelPath = \"/platf/useroperate/entity/SysUseroperate.xml\";\r\nexport default {\r\n createNumber() {\r\n return \"NEW-YYMMDD-9999\"\r\n },\r\n //下载地址\r\n\tgetDownloadUrl(url, fileName) {\r\n\t\tvar fileExtension = url.substr(\r\n\t\t\turl.lastIndexOf(\".\") + 1\r\n\t\t);\r\n\t\tvar file_path = \"\";\r\n\t\tif (!fileName) {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}`;\r\n\t\t} else {\r\n\t\t\tfile_path = `${window.HIVUI_SETTING.download}?pn=${window.HIVUI_SETTING.projectName}&path=${url\r\n\t\t\t\t}&access_token=${window.eap.user.auth.getToken()}&name=${fileName}.${fileExtension}`;\r\n\t\t}\r\n\t\treturn file_path;\r\n\t},\r\n //删除用户数据\r\n delUserData(key, type) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.remove({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n });\r\n return saveHelper.save();\r\n },\r\n //查询用户数据\r\n async getUserData(key, type) {\r\n var where = new dataHelper.queryHelper.Where({\r\n junction: 'and'\r\n });\r\n where.addCondition(\"FKEY\", key,\r\n \"dbString\");\r\n where.addCondition(\"FTYPE\", type,\r\n \"dbString\");\r\n where.addCondition(\"FUSERID\", OrgFunc.userId(),\r\n \"dbString\");\r\n var param = new dataHelper.queryHelper.Param({\r\n where: where\r\n });\r\n let result = await dataHelper.queryHelper.query(param, modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.queryUrl,\r\n pn: window.HIVUI_SETTING.projectName\r\n });\r\n if (result.dataPack.rows.length > 0)\r\n return result.dataPack.rows[0].FVALUE;\r\n return null;\r\n },\r\n //保存数据\r\n saveUserData(key, data, type, desc) {\r\n let saveHelper = new dataHelper.saveHelper(modelPath, null, {\r\n request: window.HIVUI_SETTING.request,\r\n url: window.HIVUI_SETTING.saveUrl,\r\n pn: window.HIVUI_SETTING.projectName,\r\n });\r\n saveHelper.override({\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type\r\n }, {\r\n FKEY: key,\r\n FUSERID: OrgFunc.userId(),\r\n FTYPE: type,\r\n FVALUE: typeof data == \"string\" ? data : JSON.stringify(data),\r\n FNAME: desc || \"\"\r\n });\r\n return saveHelper.save();\r\n }\r\n , getUrl(url) {\r\n let project = window.HIVUI_SETTING.project || window.HIVUI_SETTING.projectName;\r\n if (project.indexOf(\"/\") != -1)\r\n project = project.split(\"/\")[0]\r\n\r\n if (url.indexOf(\".pro\") != -1) {\r\n let extName = url.substring(url.lastIndexOf(\".\"))\r\n url = url.replace(/\\.\\w+/g, \"\") + extName;\r\n }\r\n let arrUrl = url.split(\"/\");\r\n if (arrUrl[0] != \"\")\r\n arrUrl[0] = project;\r\n else\r\n arrUrl[1] = project;\r\n url = arrUrl.join(\"/\");\r\n\r\n let newUrl = \"\";\r\n if (url.startsWith(\"/\"))\r\n newUrl = newUrl + url;\r\n else\r\n newUrl = newUrl + \"/\" + url;\r\n if (window.HIVUI_SETTING.projectName) {\r\n if (url.indexOf(\"?\") != -1)\r\n newUrl = newUrl + \"&pn=\" + window.HIVUI_SETTING.projectName;\r\n else\r\n newUrl = newUrl + \"?pn=\" + window.HIVUI_SETTING.projectName;\r\n }\r\n\r\n return newUrl;\r\n\r\n }\r\n}","import biz from './biz.js'\r\nimport utils from '@/base/utils'\r\n\r\nexport default {\r\n biz,\r\n FormFunc: biz,\r\n DateFunc: utils.date,\r\n NumberFunc: utils.number,\r\n StringFunc: utils.string,\r\n BomFunc: utils.bom\r\n}","export default {\r\n closepage() {\r\n if (top.window.SysPage && top.window.SysPage.closePage) {\r\n top.window.SysPage.closePage();\r\n } else {\r\n window.close();\r\n }\r\n\r\n },\r\n /*\r\n title:标签页名称,不传则默认显示功能名称\r\n url:标签页访问地址\r\n params:携带参数\r\n method:传\"get\"/\"post\"参数,不传默认为get\r\n target:传\"me\"/\"_blank\",me为当前标签页覆盖打开,_blank为必定新标签打开,不传参数则默认同url标签覆盖,不同的url打开新标签\r\n */\r\n newPage(title,url,params,method,target){\r\n if(url&&url.indexOf(\"http\")!=0){\r\n url=location.origin+(top.window.deployDir?(\"/\"+top.window.deployDir):'') + (top.window.pName?(\"/\"+top.window.pName):'') + url;\r\n }\r\n if (top.window.SysPage && top.window.SysPage.newPage) {\r\n top.window.SysPage.newPage(title,url,params,method,target);\r\n } else {\r\n window.open(url,\"_blank\");\r\n }\r\n }\r\n}","import dataHelper from \"@/base/dataHelper\"\r\n\r\n\r\n//(param, modelFile, funcPath, { request, url, method, pn, extParam })\r\nlet query = (param, modelFile, funcPath, options = {}) => {\r\n\r\n\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.queryUrl;\r\n // //request, url, method, pn, extParam\r\n\r\n return dataHelper.queryHelper.query(param, modelFile, funcPath, options)\r\n}\r\n\r\nlet exportData = (param, modelFile, funcPath, options = {}) => {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName\r\n if (!options.url && setting)\r\n options.url = setting.exportUrl;\r\n //{ request, url, method, pn, extParam }\r\n return dataHelper.queryHelper.exportData(param, modelFile, funcPath, options)\r\n}\r\nclass SaveHelper extends dataHelper.saveHelper {\r\n constructor(modelFile, funcPath, options = {}) {\r\n let setting = window.HIVUI_SETTING\r\n if (!options.request && setting)\r\n options.request = setting.request;\r\n if (!options.pn && setting)\r\n options.pn = setting.projectName;\r\n if (!options.url && setting)\r\n options.url = setting.saveUrl;\r\n //{ request, url, pn, extParam }\r\n super(modelFile, funcPath, options);\r\n }\r\n}\r\n\r\nexport default {\r\n query,\r\n exportData,\r\n Param: dataHelper.queryHelper.Param,\r\n Where: dataHelper.queryHelper.Where,\r\n types: dataHelper.queryHelper.types,\r\n Orders: dataHelper.queryHelper.Orders,\r\n SaveHelper\r\n\r\n}","\r\nimport request from \"./request\"\r\nimport {ajax} from \"./request\"\r\n\r\nimport user from \"./user\"\r\nimport utils from \"./utils\"\r\nimport page from \"./page\"\r\nimport dataHelper from \"./dataHelper\"\r\nexport { user, ajax,request, utils, page ,dataHelper};\r\nexport default { user, request, utils, page,dataHelper };\r\nconsole.log(process.env.NODE_VER)","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""}
Show line notes below