react-toolkits 2.15.4 → 2.15.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/index.css +1 -4057
- package/lib/index.d.ts +3 -3
- package/lib/index.js +2 -14667
- package/locale/context.js +1 -9
- package/locale/en_GB.js +1 -96
- package/locale/hooks.js +1 -1254
- package/locale/index.js +1 -1254
- package/locale/ja_JP.js +1 -96
- package/locale/ko_KR.js +1 -96
- package/locale/zh_CN.js +1 -96
- package/package.json +1 -1
- package/lib/index.css.map +0 -1
- package/lib/index.js.map +0 -1
- package/locale/context.js.map +0 -1
- package/locale/en_GB.js.map +0 -1
- package/locale/hooks.js.map +0 -1
- package/locale/index.js.map +0 -1
- package/locale/ja_JP.js.map +0 -1
- package/locale/ko_KR.js.map +0 -1
- package/locale/zh_CN.js.map +0 -1
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/index.ts","../../../node_modules/.pnpm/zustand@5.0.1_@types+react@18.3.12_immer@10.1.1_react@18.3.1/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.1_@types+react@18.3.12_immer@10.1.1_react@18.3.1/node_modules/zustand/esm/react.mjs","../../../node_modules/.pnpm/zustand@5.0.1_@types+react@18.3.12_immer@10.1.1_react@18.3.1/node_modules/zustand/esm/index.mjs","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/components/Context.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/util.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/conversion.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/format-input.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/index.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/readability.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/to-ms-filter.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/from-ratio.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/random.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/interfaces.js","../../../node_modules/.pnpm/@ctrl+tinycolor@3.6.1/node_modules/@ctrl/tinycolor/dist/module/public_api.js","../../../node_modules/.pnpm/@ant-design+colors@7.1.0/node_modules/@ant-design/colors/es/generate.js","../../../node_modules/.pnpm/@ant-design+colors@7.1.0/node_modules/@ant-design/colors/es/presets.js","../../../node_modules/.pnpm/@ant-design+colors@7.1.0/node_modules/@ant-design/colors/es/types.js","../../../node_modules/.pnpm/@ant-design+colors@7.1.0/node_modules/@ant-design/colors/es/index.js","../../../node_modules/.pnpm/@babel+runtime@7.26.0/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../node_modules/.pnpm/rc-util@5.43.0_react-dom@18.3.1_react@18.3.1/node_modules/rc-util/es/Dom/canUseDom.js","../../../node_modules/.pnpm/rc-util@5.43.0_react-dom@18.3.1_react@18.3.1/node_modules/rc-util/es/Dom/contains.js","../../../node_modules/.pnpm/rc-util@5.43.0_react-dom@18.3.1_react@18.3.1/node_modules/rc-util/es/Dom/dynamicCSS.js","../../../node_modules/.pnpm/rc-util@5.43.0_react-dom@18.3.1_react@18.3.1/node_modules/rc-util/es/Dom/shadow.js","../../../node_modules/.pnpm/rc-util@5.43.0_react-dom@18.3.1_react@18.3.1/node_modules/rc-util/es/warning.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/utils.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/components/IconBase.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/components/AntdIcon.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/LogoutOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/LogoutOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/MenuFoldOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/MenuFoldOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/MenuUnfoldOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/MenuUnfoldOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/MinusCircleOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/MinusCircleOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/PlusOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/PlusOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/UserAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/UserAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/UserOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/UserOutlined.js","../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/UsergroupAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/UsergroupAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/icons/index.js","../../../node_modules/.pnpm/@ant-design+icons@5.5.1_react-dom@18.3.1_react@18.3.1/node_modules/@ant-design/icons/es/index.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/assignInWith.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isError.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/attempt.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePropertyOf.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheAdd.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_SetCache.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arraySome.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalArrays.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapToArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalByTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalObjects.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqualDeep.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqual.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/last.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_escapeHtmlChar.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/escape.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/head.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/first.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/has.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseValues.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isEqual.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_customDefaultsAssignIn.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_escapeStringChar.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_reInterpolate.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_reEscape.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_reEvaluate.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/templateSettings.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/template.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/lodash.js","../../../node_modules/.pnpm/zustand@5.0.1_@types+react@18.3.12_immer@10.1.1_react@18.3.1/node_modules/zustand/esm/middleware.mjs","../src/components/locale/en_GB.ts","../src/constants/index.ts","../src/stores/context.ts","../src/stores/game.ts","../src/stores/signIn.ts","../../../node_modules/.pnpm/jwt-decode@4.0.0/node_modules/jwt-decode/build/esm/index.js","../src/stores/token.ts","../src/stores/index.ts","../src/components/toolkitsProvider/ToolkitsProvider.tsx","../src/components/toolkitsProvider/index.ts","../src/components/locale/hooks.ts","../src/components/locale/index.ts","../src/components/filterFormWrapper/FilterFormWrapper.tsx","../src/components/filterFormWrapper/index.ts","../src/components/highlight/Highlight.tsx","../src/components/highlight/index.ts","../../../node_modules/.pnpm/use-sync-external-store@1.2.2_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../node_modules/.pnpm/use-sync-external-store@1.2.2_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/.pnpm/use-sync-external-store@1.2.2_react@18.3.1/node_modules/use-sync-external-store/shim/index.js","../../../node_modules/.pnpm/swr@2.2.5_react@18.3.1/node_modules/swr/dist/_internal/index.mjs","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/errors/HTTPError.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/errors/TimeoutError.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/core/constants.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/body.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/is.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/merge.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/normalize.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/timeout.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/delay.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/utils/options.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/core/Ky.ts","../../../node_modules/.pnpm/ky@1.9.1/node_modules/ky/source/index.ts","../src/libs/use-ky.ts","../src/libs/index.ts","../../../node_modules/.pnpm/swr@2.2.5_react@18.3.1/node_modules/swr/dist/core/index.mjs","../src/services/index.ts","../../../node_modules/.pnpm/swr@2.2.5_react@18.3.1/node_modules/swr/dist/immutable/index.mjs","../src/components/layout/hooks.ts","../src/components/logo/Logo.tsx","../src/components/logo/index.ts","../src/components/navMenu/stores.ts","../src/components/navMenu/utils.tsx","../src/components/navMenu/NavMenu.tsx","../src/components/navMenu/index.ts","../src/components/requireGame/RequireGame.tsx","../src/components/requireGame/index.ts","../src/components/userWidget/UserWidget.tsx","../src/components/userWidget/index.ts","../src/components/layout/GameSelect.tsx","../src/components/layout/Layout.tsx","../src/components/layout/types.ts","../src/components/layout/index.ts","../src/components/modal/stores.ts","../src/components/modal/modal.tsx","../src/components/modal/formModal.tsx","../src/components/modal/index.ts","../src/components/permissionButton/PermissionButton.tsx","../src/components/permissionButton/index.ts","../src/components/queryList/stores.ts","../src/components/queryList/QueryList.tsx","../src/components/queryList/index.ts","../src/features/menu/constants/index.ts","../../../node_modules/.pnpm/swr@2.2.5_react@18.3.1/node_modules/swr/dist/mutation/index.mjs","../src/features/menu/hooks/index.ts","../src/features/menu/index.ts","../src/pages/menu/menuItemList/index.tsx","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../../node_modules/.pnpm/state-local@1.0.7/node_modules/state-local/lib/es/state-local.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/config/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../../node_modules/.pnpm/@monaco-editor+loader@1.4.0_monaco-editor@0.52.0/node_modules/@monaco-editor/loader/lib/es/index.js","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/Loading/Loading.tsx","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/MonacoContainer/MonacoContainer.tsx","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/hooks/useMount/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/hooks/useUpdate/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/utils/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/DiffEditor/DiffEditor.tsx","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/hooks/usePrevious/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/Editor/Editor.tsx","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/MonacoContainer/styles.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/Loading/styles.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/Loading/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/MonacoContainer/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/Editor/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/hooks/useMonaco/index.ts","../../../node_modules/.pnpm/@monaco-editor+react@4.6.0_monaco-editor@0.52.0_react-dom@18.3.1_react@18.3.1/node_modules/@monaco-editor/react/src/DiffEditor/index.ts","../src/pages/menu/createMenuItem/index.tsx","../src/pages/menu/updateMenuItem/index.tsx","../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/utils/errors.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/utils/common.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/utils/plugins.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/core/scope.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/core/finalize.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/core/proxy.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/core/immerClass.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/core/current.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/utils/env.ts","../../../node_modules/.pnpm/immer@10.1.1/node_modules/immer/src/immer.ts","../src/features/permission/hooks/index.tsx","../src/features/permission/components/permissionCollapse/index.tsx","../src/features/permission/components/permissionList/PermissionWithGame.tsx","../src/features/permission/components/permissionList/PermissionWithoutGame.tsx","../src/features/permission/components/permissionList/index.tsx","../src/features/permission/components/index.ts","../src/features/permission/types/index.ts","../src/features/permission/index.ts","../src/pages/permission/userList/index.tsx","../src/pages/permission/userDetail/index.tsx","../src/pages/permission/roleList/index.tsx","../src/pages/permission/roleDetail/index.tsx","../src/components/drawer/drawer.tsx","../src/components/drawer/stores.ts","../src/components/drawer/formDrawer.tsx","../src/components/dynamicTags/DynamicTags.tsx","../src/components/expandableParagraph/ExpandableParagraph.tsx","../src/index.ts","../src/components/infiniteList/InfiniteList.tsx","../../../node_modules/.pnpm/query-string@9.1.1/node_modules/query-string/base.js","../../../node_modules/.pnpm/decode-uri-component@0.4.1/node_modules/decode-uri-component/index.js","../../../node_modules/.pnpm/filter-obj@5.1.0/node_modules/filter-obj/index.js","../../../node_modules/.pnpm/split-on-first@3.0.0/node_modules/split-on-first/index.js","../../../node_modules/.pnpm/query-string@9.1.1/node_modules/query-string/index.js","../../../node_modules/.pnpm/swr@2.2.5_react@18.3.1/node_modules/swr/dist/infinite/index.mjs","../src/components/requirePermission/RequirePermission.tsx","../src/pages/menu/index.tsx","../src/pages/notFound/index.tsx","../src/pages/operationLogList/index.tsx","../src/pages/permission/index.tsx","../src/pages/signIn/index.tsx"],"names":["setState","getState","React","l","r","o","exports","module","classNames","parseValue","h","v","TinyColor","index","root","head","preMessage","warning","generate","init_utils","useInsertStyles","IconBase","React3","_excluded","LogoutOutlined","LogoutOutlined_default","init_LogoutOutlined","React5","MenuFoldOutlined","RefIcon","MenuFoldOutlined_default","init_MenuFoldOutlined","React6","MenuUnfoldOutlined","MenuUnfoldOutlined_default","init_MenuUnfoldOutlined","React7","MinusCircleOutlined","MinusCircleOutlined_default","init_MinusCircleOutlined","React8","PlusOutlined","PlusOutlined_default","init_PlusOutlined","React9","UserAddOutlined","UserAddOutlined_default","init_UserAddOutlined","React10","UserOutlined","UserOutlined_default","init_UserOutlined","React11","UsergroupAddOutlined","UsergroupAddOutlined_default","init_UsergroupAddOutlined","React12","init_es","Symbol","nativeObjectToString","objectProto","symToStringTag","identity","funcProto","funcToString","hasOwnProperty","getValue","WeakMap","init_defineProperty","MAX_SAFE_INTEGER","Buffer","argsTag","funcTag","freeExports","freeModule","moduleExports","HASH_UNDEFINED","Map","cache","INFINITY","objectTag","errorTag","propertyIsEnumerable","Promise","Set","mapTag","setTag","weakMapTag","dataViewTag","Uint8Array","othValue","set","arrayBufferTag","boolTag","dateTag","numberTag","regexpTag","stringTag","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","symbolTag","symbolProto","arrayTag","parse","config","get","PermissionVersion","token","init_esm","useContext","createContext","useRef","jsx","locale","useMemo","theme","jsxs","Space","Button","Fragment","useState","useEffect","k","is","useLayoutEffect","useDebugValue","useSyncExternalStore","error","isFunction","keys","mutate","_","timeout","createElement","use","middleware","useSWR","init_constants","isObject","init","url","ky","useCallback","request","options","import_shim","WITH_DEDUPE","useSWRHandler","ReactExports","compare","isEqual","current","cachedData","init_hooks","response","init_stores","NavMenu","Spin","Antd","Typography","Layout","Link","init_types","Form","init_modal","QueryListAction","data","useImperativeHandle","Result","cloneElement","Table","forwardRef","App","useNavigate","_defineProperty","ownKeys","_objectSpread2","_objectWithoutPropertiesLoose","_objectWithoutProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_e","_arrayLikeToArray","errorMessages","create","validate","state","curry","isObject_default","init_isObject","errorHandler","throwError","validators","compose","configureLoader","require","Loading","children","styles_default","MonacoContainer","width","height","isEditorReady","loading","_ref","className","wrapperProps","Loading_default","useMount","effect","useUpdate","deps","applyChanges","isInitialMount","noop","getOrCreateModel","monaco","value","language","path","getModel","createModel","createModelUri","DiffEditor","original","modified","originalLanguage","modifiedLanguage","originalModelPath","modifiedModelPath","keepCurrentOriginalModel","keepCurrentModifiedModel","beforeMount","onMount","setIsEditorReady","isMonacoMounting","setIsMonacoMounting","editorRef","monacoRef","containerRef","onMountRef","beforeMountRef","preventCreation","useMount_default","cancelable","loader","disposeEditor","useUpdate_default","originalEditor","model","modifiedEditor","setModels","originalModel","modifiedModel","createEditor","models","MonacoContainer_default","usePrevious","ref","Editor","defaultValue","defaultLanguage","defaultPath","line","overrideServices","saveViewState","keepCurrentModel","onChange","onValidate","subscriptionRef","valueRef","previousPath","usePrevious_default","preventTriggerChangeEvent","viewStates","autoCreatedModelPath","defaultModel","event","changeMarkersListener","uris","editorUri","uri","markers","styles","DiffEditor_default","Editor_default","memo","Card","Input","Switch","InputNumber","$","t","e","n","i","s","u","D","S","a","M","m","f","y","g","d","c","isPlainObject","objectCtorString","has","immer","isSet","isArray","Immer","self","base","Text","GameSelect","Select","Empty","startTransition","Row","Col","Option","Divider","Skeleton","Tag","useParams","Breadcrumb","Descriptions","decode","isEmpty","MenuItemList","CreateMenuItem","dayjs","UserList","lazy","UserDetail","RoleList","RoleDetail","Routes","Route","Navigate"],"mappings":"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","file":"index.js","sourcesContent":["import type { StateStorage } from 'zustand/middleware'\n\n// 通过 SessionStorage 隔离数据,防止多开页面时的数据冲突。\n// 当 SessionStorage 不存在时,使用 LocalStorage。\nexport const mixedStorage: StateStorage = {\n getItem: (name: string): string | null => {\n return sessionStorage.getItem(name) || localStorage.getItem(name)\n },\n setItem: (name: string, value: string) => {\n sessionStorage.setItem(name, value)\n localStorage.setItem(name, value)\n },\n removeItem(name: string) {\n sessionStorage.removeItem(name)\n localStorage.removeItem(name)\n },\n}\n\n/**\n * 生成唯一 ID 的函数\n */\nlet globalId = 0\nexport const generateId = (): number => ++globalId\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n () => selector(api.getState()),\n () => selector(api.getInitialState())\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","export * from 'zustand/vanilla';\nexport * from 'zustand/react';\n","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * <http://www.w3.org/TR/css3-color/>\n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// <http://www.w3.org/TR/css3-values/#integers>\nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// <http://www.w3.org/TR/css3-values/#number-value>\nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","import { TinyColor } from './index.js';\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n/**\n * AKA `contrast`\n *\n * Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\n */\nexport function readability(color1, color2) {\n var c1 = new TinyColor(color1);\n var c2 = new TinyColor(color2);\n return ((Math.max(c1.getLuminance(), c2.getLuminance()) + 0.05) /\n (Math.min(c1.getLuminance(), c2.getLuminance()) + 0.05));\n}\n/**\n * Ensure that foreground and background color combinations meet WCAG2 guidelines.\n * The third argument is an object.\n * the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n * the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n * If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n *\n * Example\n * ```ts\n * new TinyColor().isReadable('#000', '#111') => false\n * new TinyColor().isReadable('#000', '#111', { level: 'AA', size: 'large' }) => false\n * ```\n */\nexport function isReadable(color1, color2, wcag2) {\n var _a, _b;\n if (wcag2 === void 0) { wcag2 = { level: 'AA', size: 'small' }; }\n var readabilityLevel = readability(color1, color2);\n switch (((_a = wcag2.level) !== null && _a !== void 0 ? _a : 'AA') + ((_b = wcag2.size) !== null && _b !== void 0 ? _b : 'small')) {\n case 'AAsmall':\n case 'AAAlarge':\n return readabilityLevel >= 4.5;\n case 'AAlarge':\n return readabilityLevel >= 3;\n case 'AAAsmall':\n return readabilityLevel >= 7;\n default:\n return false;\n }\n}\n/**\n * Given a base color and a list of possible foreground or background\n * colors for that base, returns the most readable color.\n * Optionally returns Black or White if the most readable color is unreadable.\n *\n * @param baseColor - the base color.\n * @param colorList - array of colors to pick the most readable one from.\n * @param args - and object with extra arguments\n *\n * Example\n * ```ts\n * new TinyColor().mostReadable('#123', ['#124\", \"#125'], { includeFallbackColors: false }).toHexString(); // \"#112255\"\n * new TinyColor().mostReadable('#123', ['#124\", \"#125'],{ includeFallbackColors: true }).toHexString(); // \"#ffffff\"\n * new TinyColor().mostReadable('#a8015a', [\"#faf3f3\"], { includeFallbackColors:true, level: 'AAA', size: 'large' }).toHexString(); // \"#faf3f3\"\n * new TinyColor().mostReadable('#a8015a', [\"#faf3f3\"], { includeFallbackColors:true, level: 'AAA', size: 'small' }).toHexString(); // \"#ffffff\"\n * ```\n */\nexport function mostReadable(baseColor, colorList, args) {\n if (args === void 0) { args = { includeFallbackColors: false, level: 'AA', size: 'small' }; }\n var bestColor = null;\n var bestScore = 0;\n var includeFallbackColors = args.includeFallbackColors, level = args.level, size = args.size;\n for (var _i = 0, colorList_1 = colorList; _i < colorList_1.length; _i++) {\n var color = colorList_1[_i];\n var score = readability(baseColor, color);\n if (score > bestScore) {\n bestScore = score;\n bestColor = new TinyColor(color);\n }\n }\n if (isReadable(baseColor, bestColor, { level: level, size: size }) || !includeFallbackColors) {\n return bestColor;\n }\n args.includeFallbackColors = false;\n return mostReadable(baseColor, ['#fff', '#000'], args);\n}\n","import { rgbaToArgbHex } from './conversion.js';\nimport { TinyColor } from './index.js';\n/**\n * Returns the color represented as a Microsoft filter for use in old versions of IE.\n */\nexport function toMsFilter(firstColor, secondColor) {\n var color = new TinyColor(firstColor);\n var hex8String = '#' + rgbaToArgbHex(color.r, color.g, color.b, color.a);\n var secondHex8String = hex8String;\n var gradientType = color.gradientType ? 'GradientType = 1, ' : '';\n if (secondColor) {\n var s = new TinyColor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s.r, s.g, s.b, s.a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\".concat(gradientType, \"startColorstr=\").concat(hex8String, \",endColorstr=\").concat(secondHex8String, \")\");\n}\n","import { TinyColor } from './index.js';\nimport { convertToPercentage } from './util.js';\n/**\n * If input is an object, force 1 into \"1.0\" to handle ratios properly\n * String input requires \"1.0\" as input, so 1 will be treated as 1\n */\nexport function fromRatio(ratio, opts) {\n var newColor = {\n r: convertToPercentage(ratio.r),\n g: convertToPercentage(ratio.g),\n b: convertToPercentage(ratio.b),\n };\n if (ratio.a !== undefined) {\n newColor.a = Number(ratio.a);\n }\n return new TinyColor(newColor, opts);\n}\n/** old random function */\nexport function legacyRandom() {\n return new TinyColor({\n r: Math.random(),\n g: Math.random(),\n b: Math.random(),\n });\n}\n","/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\n// randomColor by David Merfield under the CC0 license\n// https://github.com/davidmerfield/randomColor/\nimport { TinyColor } from './index.js';\nexport function random(options) {\n if (options === void 0) { options = {}; }\n // Check if we need to generate multiple colors\n if (options.count !== undefined &&\n options.count !== null) {\n var totalColors = options.count;\n var colors = [];\n options.count = undefined;\n while (totalColors > colors.length) {\n // Since we're generating multiple colors,\n // incremement the seed. Otherwise we'd just\n // generate the same color each time...\n options.count = null;\n if (options.seed) {\n options.seed += 1;\n }\n colors.push(random(options));\n }\n options.count = totalColors;\n return colors;\n }\n // First we pick a hue (H)\n var h = pickHue(options.hue, options.seed);\n // Then use H to determine saturation (S)\n var s = pickSaturation(h, options);\n // Then use S and H to determine brightness (B).\n var v = pickBrightness(h, s, options);\n var res = { h: h, s: s, v: v };\n if (options.alpha !== undefined) {\n res.a = options.alpha;\n }\n // Then we return the HSB color in the desired format\n return new TinyColor(res);\n}\nfunction pickHue(hue, seed) {\n var hueRange = getHueRange(hue);\n var res = randomWithin(hueRange, seed);\n // Instead of storing red as two seperate ranges,\n // we group them, using negative numbers\n if (res < 0) {\n res = 360 + res;\n }\n return res;\n}\nfunction pickSaturation(hue, options) {\n if (options.hue === 'monochrome') {\n return 0;\n }\n if (options.luminosity === 'random') {\n return randomWithin([0, 100], options.seed);\n }\n var saturationRange = getColorInfo(hue).saturationRange;\n var sMin = saturationRange[0];\n var sMax = saturationRange[1];\n switch (options.luminosity) {\n case 'bright':\n sMin = 55;\n break;\n case 'dark':\n sMin = sMax - 10;\n break;\n case 'light':\n sMax = 55;\n break;\n default:\n break;\n }\n return randomWithin([sMin, sMax], options.seed);\n}\nfunction pickBrightness(H, S, options) {\n var bMin = getMinimumBrightness(H, S);\n var bMax = 100;\n switch (options.luminosity) {\n case 'dark':\n bMax = bMin + 20;\n break;\n case 'light':\n bMin = (bMax + bMin) / 2;\n break;\n case 'random':\n bMin = 0;\n bMax = 100;\n break;\n default:\n break;\n }\n return randomWithin([bMin, bMax], options.seed);\n}\nfunction getMinimumBrightness(H, S) {\n var lowerBounds = getColorInfo(H).lowerBounds;\n for (var i = 0; i < lowerBounds.length - 1; i++) {\n var s1 = lowerBounds[i][0];\n var v1 = lowerBounds[i][1];\n var s2 = lowerBounds[i + 1][0];\n var v2 = lowerBounds[i + 1][1];\n if (S >= s1 && S <= s2) {\n var m = (v2 - v1) / (s2 - s1);\n var b = v1 - m * s1;\n return m * S + b;\n }\n }\n return 0;\n}\nfunction getHueRange(colorInput) {\n var num = parseInt(colorInput, 10);\n if (!Number.isNaN(num) && num < 360 && num > 0) {\n return [num, num];\n }\n if (typeof colorInput === 'string') {\n var namedColor = bounds.find(function (n) { return n.name === colorInput; });\n if (namedColor) {\n var color = defineColor(namedColor);\n if (color.hueRange) {\n return color.hueRange;\n }\n }\n var parsed = new TinyColor(colorInput);\n if (parsed.isValid) {\n var hue = parsed.toHsv().h;\n return [hue, hue];\n }\n }\n return [0, 360];\n}\nfunction getColorInfo(hue) {\n // Maps red colors to make picking hue easier\n if (hue >= 334 && hue <= 360) {\n hue -= 360;\n }\n for (var _i = 0, bounds_1 = bounds; _i < bounds_1.length; _i++) {\n var bound = bounds_1[_i];\n var color = defineColor(bound);\n if (color.hueRange && hue >= color.hueRange[0] && hue <= color.hueRange[1]) {\n return color;\n }\n }\n throw Error('Color not found');\n}\nfunction randomWithin(range, seed) {\n if (seed === undefined) {\n return Math.floor(range[0] + Math.random() * (range[1] + 1 - range[0]));\n }\n // Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/\n var max = range[1] || 1;\n var min = range[0] || 0;\n seed = (seed * 9301 + 49297) % 233280;\n var rnd = seed / 233280.0;\n return Math.floor(min + rnd * (max - min));\n}\nfunction defineColor(bound) {\n var sMin = bound.lowerBounds[0][0];\n var sMax = bound.lowerBounds[bound.lowerBounds.length - 1][0];\n var bMin = bound.lowerBounds[bound.lowerBounds.length - 1][1];\n var bMax = bound.lowerBounds[0][1];\n return {\n name: bound.name,\n hueRange: bound.hueRange,\n lowerBounds: bound.lowerBounds,\n saturationRange: [sMin, sMax],\n brightnessRange: [bMin, bMax],\n };\n}\n/**\n * @hidden\n */\nexport var bounds = [\n {\n name: 'monochrome',\n hueRange: null,\n lowerBounds: [\n [0, 0],\n [100, 0],\n ],\n },\n {\n name: 'red',\n hueRange: [-26, 18],\n lowerBounds: [\n [20, 100],\n [30, 92],\n [40, 89],\n [50, 85],\n [60, 78],\n [70, 70],\n [80, 60],\n [90, 55],\n [100, 50],\n ],\n },\n {\n name: 'orange',\n hueRange: [19, 46],\n lowerBounds: [\n [20, 100],\n [30, 93],\n [40, 88],\n [50, 86],\n [60, 85],\n [70, 70],\n [100, 70],\n ],\n },\n {\n name: 'yellow',\n hueRange: [47, 62],\n lowerBounds: [\n [25, 100],\n [40, 94],\n [50, 89],\n [60, 86],\n [70, 84],\n [80, 82],\n [90, 80],\n [100, 75],\n ],\n },\n {\n name: 'green',\n hueRange: [63, 178],\n lowerBounds: [\n [30, 100],\n [40, 90],\n [50, 85],\n [60, 81],\n [70, 74],\n [80, 64],\n [90, 50],\n [100, 40],\n ],\n },\n {\n name: 'blue',\n hueRange: [179, 257],\n lowerBounds: [\n [20, 100],\n [30, 86],\n [40, 80],\n [50, 74],\n [60, 60],\n [70, 52],\n [80, 44],\n [90, 39],\n [100, 35],\n ],\n },\n {\n name: 'purple',\n hueRange: [258, 282],\n lowerBounds: [\n [20, 100],\n [30, 87],\n [40, 79],\n [50, 70],\n [60, 65],\n [70, 59],\n [80, 52],\n [90, 45],\n [100, 42],\n ],\n },\n {\n name: 'pink',\n hueRange: [283, 334],\n lowerBounds: [\n [20, 100],\n [30, 90],\n [40, 86],\n [60, 84],\n [80, 80],\n [90, 75],\n [100, 73],\n ],\n },\n];\n","export {};\n","import { tinycolor } from './index.js';\nexport * from './index.js';\nexport * from './css-color-names.js';\nexport * from './readability.js';\nexport * from './to-ms-filter.js';\nexport * from './from-ratio.js';\nexport * from './format-input.js';\nexport * from './random.js';\nexport * from './interfaces.js';\nexport * from './conversion.js';\n// kept for backwards compatability with v1\nexport default tinycolor;\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n}\n\n// Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n}\n\n// Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\nfunction getHue(hsv, i, light) {\n var hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation;\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 1) {\n saturation = 1;\n }\n // 第一格的 s 限制在 0.06-0.1 之间\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n return Number(saturation.toFixed(2));\n}\nfunction getValue(hsv, i, light) {\n var value;\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n if (value > 1) {\n value = 1;\n }\n return Number(value.toFixed(2));\n}\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n patterns.push(toHex(pColor));\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n patterns.push(_colorString);\n }\n\n // dark theme patterns\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n return patterns;\n}","// Generated by script. Do NOT modify!\n\nexport var presetPrimaryColors = {\n \"red\": \"#F5222D\",\n \"volcano\": \"#FA541C\",\n \"orange\": \"#FA8C16\",\n \"gold\": \"#FAAD14\",\n \"yellow\": \"#FADB14\",\n \"lime\": \"#A0D911\",\n \"green\": \"#52C41A\",\n \"cyan\": \"#13C2C2\",\n \"blue\": \"#1677FF\",\n \"geekblue\": \"#2F54EB\",\n \"purple\": \"#722ED1\",\n \"magenta\": \"#EB2F96\",\n \"grey\": \"#666666\"\n};\nexport var red = [\"#fff1f0\", \"#ffccc7\", \"#ffa39e\", \"#ff7875\", \"#ff4d4f\", \"#f5222d\", \"#cf1322\", \"#a8071a\", \"#820014\", \"#5c0011\"];\nred.primary = red[5];\nexport var volcano = [\"#fff2e8\", \"#ffd8bf\", \"#ffbb96\", \"#ff9c6e\", \"#ff7a45\", \"#fa541c\", \"#d4380d\", \"#ad2102\", \"#871400\", \"#610b00\"];\nvolcano.primary = volcano[5];\nexport var orange = [\"#fff7e6\", \"#ffe7ba\", \"#ffd591\", \"#ffc069\", \"#ffa940\", \"#fa8c16\", \"#d46b08\", \"#ad4e00\", \"#873800\", \"#612500\"];\norange.primary = orange[5];\nexport var gold = [\"#fffbe6\", \"#fff1b8\", \"#ffe58f\", \"#ffd666\", \"#ffc53d\", \"#faad14\", \"#d48806\", \"#ad6800\", \"#874d00\", \"#613400\"];\ngold.primary = gold[5];\nexport var yellow = [\"#feffe6\", \"#ffffb8\", \"#fffb8f\", \"#fff566\", \"#ffec3d\", \"#fadb14\", \"#d4b106\", \"#ad8b00\", \"#876800\", \"#614700\"];\nyellow.primary = yellow[5];\nexport var lime = [\"#fcffe6\", \"#f4ffb8\", \"#eaff8f\", \"#d3f261\", \"#bae637\", \"#a0d911\", \"#7cb305\", \"#5b8c00\", \"#3f6600\", \"#254000\"];\nlime.primary = lime[5];\nexport var green = [\"#f6ffed\", \"#d9f7be\", \"#b7eb8f\", \"#95de64\", \"#73d13d\", \"#52c41a\", \"#389e0d\", \"#237804\", \"#135200\", \"#092b00\"];\ngreen.primary = green[5];\nexport var cyan = [\"#e6fffb\", \"#b5f5ec\", \"#87e8de\", \"#5cdbd3\", \"#36cfc9\", \"#13c2c2\", \"#08979c\", \"#006d75\", \"#00474f\", \"#002329\"];\ncyan.primary = cyan[5];\nexport var blue = [\"#e6f4ff\", \"#bae0ff\", \"#91caff\", \"#69b1ff\", \"#4096ff\", \"#1677ff\", \"#0958d9\", \"#003eb3\", \"#002c8c\", \"#001d66\"];\nblue.primary = blue[5];\nexport var geekblue = [\"#f0f5ff\", \"#d6e4ff\", \"#adc6ff\", \"#85a5ff\", \"#597ef7\", \"#2f54eb\", \"#1d39c4\", \"#10239e\", \"#061178\", \"#030852\"];\ngeekblue.primary = geekblue[5];\nexport var purple = [\"#f9f0ff\", \"#efdbff\", \"#d3adf7\", \"#b37feb\", \"#9254de\", \"#722ed1\", \"#531dab\", \"#391085\", \"#22075e\", \"#120338\"];\npurple.primary = purple[5];\nexport var magenta = [\"#fff0f6\", \"#ffd6e7\", \"#ffadd2\", \"#ff85c0\", \"#f759ab\", \"#eb2f96\", \"#c41d7f\", \"#9e1068\", \"#780650\", \"#520339\"];\nmagenta.primary = magenta[5];\nexport var grey = [\"#a6a6a6\", \"#999999\", \"#8c8c8c\", \"#808080\", \"#737373\", \"#666666\", \"#404040\", \"#1a1a1a\", \"#000000\", \"#000000\"];\ngrey.primary = grey[5];\nexport var gray = grey;\nexport var presetPalettes = {\n red: red,\n volcano: volcano,\n orange: orange,\n gold: gold,\n yellow: yellow,\n lime: lime,\n green: green,\n cyan: cyan,\n blue: blue,\n geekblue: geekblue,\n purple: purple,\n magenta: magenta,\n grey: grey\n};\nexport var redDark = [\"#2a1215\", \"#431418\", \"#58181c\", \"#791a1f\", \"#a61d24\", \"#d32029\", \"#e84749\", \"#f37370\", \"#f89f9a\", \"#fac8c3\"];\nredDark.primary = redDark[5];\nexport var volcanoDark = [\"#2b1611\", \"#441d12\", \"#592716\", \"#7c3118\", \"#aa3e19\", \"#d84a1b\", \"#e87040\", \"#f3956a\", \"#f8b692\", \"#fad4bc\"];\nvolcanoDark.primary = volcanoDark[5];\nexport var orangeDark = [\"#2b1d11\", \"#442a11\", \"#593815\", \"#7c4a15\", \"#aa6215\", \"#d87a16\", \"#e89a3c\", \"#f3b765\", \"#f8cf8d\", \"#fae3b7\"];\norangeDark.primary = orangeDark[5];\nexport var goldDark = [\"#2b2111\", \"#443111\", \"#594214\", \"#7c5914\", \"#aa7714\", \"#d89614\", \"#e8b339\", \"#f3cc62\", \"#f8df8b\", \"#faedb5\"];\ngoldDark.primary = goldDark[5];\nexport var yellowDark = [\"#2b2611\", \"#443b11\", \"#595014\", \"#7c6e14\", \"#aa9514\", \"#d8bd14\", \"#e8d639\", \"#f3ea62\", \"#f8f48b\", \"#fafab5\"];\nyellowDark.primary = yellowDark[5];\nexport var limeDark = [\"#1f2611\", \"#2e3c10\", \"#3e4f13\", \"#536d13\", \"#6f9412\", \"#8bbb11\", \"#a9d134\", \"#c9e75d\", \"#e4f88b\", \"#f0fab5\"];\nlimeDark.primary = limeDark[5];\nexport var greenDark = [\"#162312\", \"#1d3712\", \"#274916\", \"#306317\", \"#3c8618\", \"#49aa19\", \"#6abe39\", \"#8fd460\", \"#b2e58b\", \"#d5f2bb\"];\ngreenDark.primary = greenDark[5];\nexport var cyanDark = [\"#112123\", \"#113536\", \"#144848\", \"#146262\", \"#138585\", \"#13a8a8\", \"#33bcb7\", \"#58d1c9\", \"#84e2d8\", \"#b2f1e8\"];\ncyanDark.primary = cyanDark[5];\nexport var blueDark = [\"#111a2c\", \"#112545\", \"#15325b\", \"#15417e\", \"#1554ad\", \"#1668dc\", \"#3c89e8\", \"#65a9f3\", \"#8dc5f8\", \"#b7dcfa\"];\nblueDark.primary = blueDark[5];\nexport var geekblueDark = [\"#131629\", \"#161d40\", \"#1c2755\", \"#203175\", \"#263ea0\", \"#2b4acb\", \"#5273e0\", \"#7f9ef3\", \"#a8c1f8\", \"#d2e0fa\"];\ngeekblueDark.primary = geekblueDark[5];\nexport var purpleDark = [\"#1a1325\", \"#24163a\", \"#301c4d\", \"#3e2069\", \"#51258f\", \"#642ab5\", \"#854eca\", \"#ab7ae0\", \"#cda8f0\", \"#ebd7fa\"];\npurpleDark.primary = purpleDark[5];\nexport var magentaDark = [\"#291321\", \"#40162f\", \"#551c3b\", \"#75204f\", \"#a02669\", \"#cb2b83\", \"#e0529c\", \"#f37fb7\", \"#f8a8cc\", \"#fad2e3\"];\nmagentaDark.primary = magentaDark[5];\nexport var greyDark = [\"#151515\", \"#1f1f1f\", \"#2d2d2d\", \"#393939\", \"#494949\", \"#5a5a5a\", \"#6a6a6a\", \"#7b7b7b\", \"#888888\", \"#969696\"];\ngreyDark.primary = greyDark[5];\nexport var presetDarkPalettes = {\n red: redDark,\n volcano: volcanoDark,\n orange: orangeDark,\n gold: goldDark,\n yellow: yellowDark,\n lime: limeDark,\n green: greenDark,\n cyan: cyanDark,\n blue: blueDark,\n geekblue: geekblueDark,\n purple: purpleDark,\n magenta: magentaDark,\n grey: greyDark\n};","export {};","export { default as generate } from \"./generate\";\nexport * from \"./presets\";\nexport * from \"./types\";","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport canUseDom from \"./canUseDom\";\nimport contains from \"./contains\";\nvar APPEND_ORDER = 'data-rc-order';\nvar APPEND_PRIORITY = 'data-rc-priority';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend,\n _option$priority = option.priority,\n priority = _option$priority === void 0 ? 0 : _option$priority;\n var mergedOrder = getOrder(prepend);\n var isPrependQueue = mergedOrder === 'prependQueue';\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, mergedOrder);\n if (isPrependQueue && priority) {\n styleNode.setAttribute(APPEND_PRIORITY, \"\".concat(priority));\n }\n if (csp !== null && csp !== void 0 && csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (isPrependQueue) {\n var existStyle = (option.styles || findStyles(container)).filter(function (node) {\n // Ignore style which not injected by rc-util with prepend\n if (!['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER))) {\n return false;\n }\n\n // Ignore style which priority less then new style\n var nodePriority = Number(node.getAttribute(APPEND_PRIORITY) || 0);\n return priority >= nodePriority;\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return (option.styles || findStyles(container)).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var originOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(originOption);\n var styles = findStyles(container);\n var option = _objectSpread(_objectSpread({}, originOption), {}, {\n styles: styles\n });\n\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if ((_option$csp = option.csp) !== null && _option$csp !== void 0 && _option$csp.nonce && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","function getRoot(ele) {\n var _ele$getRootNode;\n return ele === null || ele === void 0 || (_ele$getRootNode = ele.getRootNode) === null || _ele$getRootNode === void 0 ? void 0 : _ele$getRootNode.call(ele);\n}\n\n/**\n * Check if is in shadowRoot\n */\nexport function inShadow(ele) {\n return getRoot(ele) instanceof ShadowRoot;\n}\n\n/**\n * Return shadowRoot if possible\n */\nexport function getShadowRoot(ele) {\n return inShadow(ele) ? getRoot(ele) : null;\n}","/* eslint-disable no-console */\nvar warned = {};\nvar preWarningFns = [];\n\n/**\n * Pre warning enable you to parse content before console.error.\n * Modify to null will prevent warning.\n */\nexport var preMessage = function preMessage(fn) {\n preWarningFns.push(fn);\n};\n\n/**\n * Warning if condition not match.\n * @param valid Condition\n * @param message Warning message\n * @example\n * ```js\n * warning(false, 'some error'); // print some error\n * warning(true, 'some error'); // print nothing\n * warning(1 === 2, 'some error'); // print some error\n * ```\n */\nexport function warning(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'warning');\n }, message);\n if (finalMessage) {\n console.error(\"Warning: \".concat(finalMessage));\n }\n }\n}\n\n/** @see Similar to {@link warning} */\nexport function note(valid, message) {\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n var finalMessage = preWarningFns.reduce(function (msg, preMessageFn) {\n return preMessageFn(msg !== null && msg !== void 0 ? msg : '', 'note');\n }, message);\n if (finalMessage) {\n console.warn(\"Note: \".concat(finalMessage));\n }\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\n/** @see Same as {@link warning}, but only warn once for the same message */\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nwarningOnce.preMessage = preMessage;\nwarningOnce.resetWarned = resetWarned;\nwarningOnce.noteOnce = noteOnce;\nexport default warningOnce;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { getShadowRoot } from \"rc-util/es/Dom/shadow\";\nimport warn from \"rc-util/es/warning\";\nimport React, { useContext, useEffect } from 'react';\nimport IconContext from \"./components/Context\";\nfunction camelCase(input) {\n return input.replace(/-(.)/g, function (match, g) {\n return g.toUpperCase();\n });\n}\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n delete acc[key];\n acc[camelCase(key)] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-flex;\\n align-items: center;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles(eleRef) {\n var _useContext = useContext(IconContext),\n csp = _useContext.csp,\n prefixCls = _useContext.prefixCls;\n var mergedStyleStr = iconStyles;\n if (prefixCls) {\n mergedStyleStr = mergedStyleStr.replace(/anticon/g, prefixCls);\n }\n useEffect(function () {\n var ele = eleRef.current;\n var shadowRoot = getShadowRoot(ele);\n updateCSS(mergedStyleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp,\n attachTo: shadowRoot\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport * as React from 'react';\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from \"../utils\";\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var svgRef = React.useRef();\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles(svgRef);\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread(_objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps), {}, {\n ref: svgRef\n }));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from \"./IconBase\";\nimport { normalizeTwoToneColors } from \"../utils\";\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { blue } from '@ant-design/colors';\nimport Context from \"./Context\";\nimport ReactIcon from \"./IconBase\";\nimport { getTwoToneColor, setTwoToneColor } from \"./twoTonePrimaryColor\";\nimport { normalizeTwoToneColors } from \"../utils\";\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor(blue.primary);\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757#issuecomment-488848720\n\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, _defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","// This icon file is generated automatically.\nvar LogoutOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z\" } }] }, \"name\": \"logout\", \"theme\": \"outlined\" };\nexport default LogoutOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport LogoutOutlinedSvg from \"@ant-design/icons-svg/es/asn/LogoutOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar LogoutOutlined = function LogoutOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: LogoutOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(LogoutOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'LogoutOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MenuFoldOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z\" } }] }, \"name\": \"menu-fold\", \"theme\": \"outlined\" };\nexport default MenuFoldOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MenuFoldOutlinedSvg from \"@ant-design/icons-svg/es/asn/MenuFoldOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MenuFoldOutlined = function MenuFoldOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MenuFoldOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MenuFoldOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MenuFoldOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MenuUnfoldOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z\" } }] }, \"name\": \"menu-unfold\", \"theme\": \"outlined\" };\nexport default MenuUnfoldOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MenuUnfoldOutlinedSvg from \"@ant-design/icons-svg/es/asn/MenuUnfoldOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MenuUnfoldOutlined = function MenuUnfoldOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MenuUnfoldOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MenuUnfoldOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MenuUnfoldOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar MinusCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"minus-circle\", \"theme\": \"outlined\" };\nexport default MinusCircleOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport MinusCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/MinusCircleOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar MinusCircleOutlined = function MinusCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: MinusCircleOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(MinusCircleOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'MinusCircleOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar PlusOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z\" } }] }, \"name\": \"plus\", \"theme\": \"outlined\" };\nexport default PlusOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport PlusOutlinedSvg from \"@ant-design/icons-svg/es/asn/PlusOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar PlusOutlined = function PlusOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: PlusOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(PlusOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'PlusOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar UserAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 00-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 00-80.4 119.5A373.6 373.6 0 00137 888.8a8 8 0 008 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 008.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 01340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 01683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"user-add\", \"theme\": \"outlined\" };\nexport default UserAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UserAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UserAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UserAddOutlined = function UserAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UserAddOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(UserAddOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'UserAddOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar UserOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\" } }] }, \"name\": \"user\", \"theme\": \"outlined\" };\nexport default UserOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UserOutlinedSvg from \"@ant-design/icons-svg/es/asn/UserOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UserOutlined = function UserOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UserOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(UserOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'UserOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar UsergroupAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z\" } }] }, \"name\": \"usergroup-add\", \"theme\": \"outlined\" };\nexport default UsergroupAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UsergroupAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UsergroupAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UsergroupAddOutlined = function UsergroupAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UsergroupAddOutlinedSvg\n }));\n};\n\n/** */\nvar RefIcon = /*#__PURE__*/React.forwardRef(UsergroupAddOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'UsergroupAddOutlined';\n}\nexport default RefIcon;","// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nexport { default as AccountBookFilled } from \"./AccountBookFilled\";\nexport { default as AccountBookOutlined } from \"./AccountBookOutlined\";\nexport { default as AccountBookTwoTone } from \"./AccountBookTwoTone\";\nexport { default as AimOutlined } from \"./AimOutlined\";\nexport { default as AlertFilled } from \"./AlertFilled\";\nexport { default as AlertOutlined } from \"./AlertOutlined\";\nexport { default as AlertTwoTone } from \"./AlertTwoTone\";\nexport { default as AlibabaOutlined } from \"./AlibabaOutlined\";\nexport { default as AlignCenterOutlined } from \"./AlignCenterOutlined\";\nexport { default as AlignLeftOutlined } from \"./AlignLeftOutlined\";\nexport { default as AlignRightOutlined } from \"./AlignRightOutlined\";\nexport { default as AlipayCircleFilled } from \"./AlipayCircleFilled\";\nexport { default as AlipayCircleOutlined } from \"./AlipayCircleOutlined\";\nexport { default as AlipayOutlined } from \"./AlipayOutlined\";\nexport { default as AlipaySquareFilled } from \"./AlipaySquareFilled\";\nexport { default as AliwangwangFilled } from \"./AliwangwangFilled\";\nexport { default as AliwangwangOutlined } from \"./AliwangwangOutlined\";\nexport { default as AliyunOutlined } from \"./AliyunOutlined\";\nexport { default as AmazonCircleFilled } from \"./AmazonCircleFilled\";\nexport { default as AmazonOutlined } from \"./AmazonOutlined\";\nexport { default as AmazonSquareFilled } from \"./AmazonSquareFilled\";\nexport { default as AndroidFilled } from \"./AndroidFilled\";\nexport { default as AndroidOutlined } from \"./AndroidOutlined\";\nexport { default as AntCloudOutlined } from \"./AntCloudOutlined\";\nexport { default as AntDesignOutlined } from \"./AntDesignOutlined\";\nexport { default as ApartmentOutlined } from \"./ApartmentOutlined\";\nexport { default as ApiFilled } from \"./ApiFilled\";\nexport { default as ApiOutlined } from \"./ApiOutlined\";\nexport { default as ApiTwoTone } from \"./ApiTwoTone\";\nexport { default as AppleFilled } from \"./AppleFilled\";\nexport { default as AppleOutlined } from \"./AppleOutlined\";\nexport { default as AppstoreAddOutlined } from \"./AppstoreAddOutlined\";\nexport { default as AppstoreFilled } from \"./AppstoreFilled\";\nexport { default as AppstoreOutlined } from \"./AppstoreOutlined\";\nexport { default as AppstoreTwoTone } from \"./AppstoreTwoTone\";\nexport { default as AreaChartOutlined } from \"./AreaChartOutlined\";\nexport { default as ArrowDownOutlined } from \"./ArrowDownOutlined\";\nexport { default as ArrowLeftOutlined } from \"./ArrowLeftOutlined\";\nexport { default as ArrowRightOutlined } from \"./ArrowRightOutlined\";\nexport { default as ArrowUpOutlined } from \"./ArrowUpOutlined\";\nexport { default as ArrowsAltOutlined } from \"./ArrowsAltOutlined\";\nexport { default as AudioFilled } from \"./AudioFilled\";\nexport { default as AudioMutedOutlined } from \"./AudioMutedOutlined\";\nexport { default as AudioOutlined } from \"./AudioOutlined\";\nexport { default as AudioTwoTone } from \"./AudioTwoTone\";\nexport { default as AuditOutlined } from \"./AuditOutlined\";\nexport { default as BackwardFilled } from \"./BackwardFilled\";\nexport { default as BackwardOutlined } from \"./BackwardOutlined\";\nexport { default as BaiduOutlined } from \"./BaiduOutlined\";\nexport { default as BankFilled } from \"./BankFilled\";\nexport { default as BankOutlined } from \"./BankOutlined\";\nexport { default as BankTwoTone } from \"./BankTwoTone\";\nexport { default as BarChartOutlined } from \"./BarChartOutlined\";\nexport { default as BarcodeOutlined } from \"./BarcodeOutlined\";\nexport { default as BarsOutlined } from \"./BarsOutlined\";\nexport { default as BehanceCircleFilled } from \"./BehanceCircleFilled\";\nexport { default as BehanceOutlined } from \"./BehanceOutlined\";\nexport { default as BehanceSquareFilled } from \"./BehanceSquareFilled\";\nexport { default as BehanceSquareOutlined } from \"./BehanceSquareOutlined\";\nexport { default as BellFilled } from \"./BellFilled\";\nexport { default as BellOutlined } from \"./BellOutlined\";\nexport { default as BellTwoTone } from \"./BellTwoTone\";\nexport { default as BgColorsOutlined } from \"./BgColorsOutlined\";\nexport { default as BilibiliFilled } from \"./BilibiliFilled\";\nexport { default as BilibiliOutlined } from \"./BilibiliOutlined\";\nexport { default as BlockOutlined } from \"./BlockOutlined\";\nexport { default as BoldOutlined } from \"./BoldOutlined\";\nexport { default as BookFilled } from \"./BookFilled\";\nexport { default as BookOutlined } from \"./BookOutlined\";\nexport { default as BookTwoTone } from \"./BookTwoTone\";\nexport { default as BorderBottomOutlined } from \"./BorderBottomOutlined\";\nexport { default as BorderHorizontalOutlined } from \"./BorderHorizontalOutlined\";\nexport { default as BorderInnerOutlined } from \"./BorderInnerOutlined\";\nexport { default as BorderLeftOutlined } from \"./BorderLeftOutlined\";\nexport { default as BorderOuterOutlined } from \"./BorderOuterOutlined\";\nexport { default as BorderOutlined } from \"./BorderOutlined\";\nexport { default as BorderRightOutlined } from \"./BorderRightOutlined\";\nexport { default as BorderTopOutlined } from \"./BorderTopOutlined\";\nexport { default as BorderVerticleOutlined } from \"./BorderVerticleOutlined\";\nexport { default as BorderlessTableOutlined } from \"./BorderlessTableOutlined\";\nexport { default as BoxPlotFilled } from \"./BoxPlotFilled\";\nexport { default as BoxPlotOutlined } from \"./BoxPlotOutlined\";\nexport { default as BoxPlotTwoTone } from \"./BoxPlotTwoTone\";\nexport { default as BranchesOutlined } from \"./BranchesOutlined\";\nexport { default as BugFilled } from \"./BugFilled\";\nexport { default as BugOutlined } from \"./BugOutlined\";\nexport { default as BugTwoTone } from \"./BugTwoTone\";\nexport { default as BuildFilled } from \"./BuildFilled\";\nexport { default as BuildOutlined } from \"./BuildOutlined\";\nexport { default as BuildTwoTone } from \"./BuildTwoTone\";\nexport { default as BulbFilled } from \"./BulbFilled\";\nexport { default as BulbOutlined } from \"./BulbOutlined\";\nexport { default as BulbTwoTone } from \"./BulbTwoTone\";\nexport { default as CalculatorFilled } from \"./CalculatorFilled\";\nexport { default as CalculatorOutlined } from \"./CalculatorOutlined\";\nexport { default as CalculatorTwoTone } from \"./CalculatorTwoTone\";\nexport { default as CalendarFilled } from \"./CalendarFilled\";\nexport { default as CalendarOutlined } from \"./CalendarOutlined\";\nexport { default as CalendarTwoTone } from \"./CalendarTwoTone\";\nexport { default as CameraFilled } from \"./CameraFilled\";\nexport { default as CameraOutlined } from \"./CameraOutlined\";\nexport { default as CameraTwoTone } from \"./CameraTwoTone\";\nexport { default as CarFilled } from \"./CarFilled\";\nexport { default as CarOutlined } from \"./CarOutlined\";\nexport { default as CarTwoTone } from \"./CarTwoTone\";\nexport { default as CaretDownFilled } from \"./CaretDownFilled\";\nexport { default as CaretDownOutlined } from \"./CaretDownOutlined\";\nexport { default as CaretLeftFilled } from \"./CaretLeftFilled\";\nexport { default as CaretLeftOutlined } from \"./CaretLeftOutlined\";\nexport { default as CaretRightFilled } from \"./CaretRightFilled\";\nexport { default as CaretRightOutlined } from \"./CaretRightOutlined\";\nexport { default as CaretUpFilled } from \"./CaretUpFilled\";\nexport { default as CaretUpOutlined } from \"./CaretUpOutlined\";\nexport { default as CarryOutFilled } from \"./CarryOutFilled\";\nexport { default as CarryOutOutlined } from \"./CarryOutOutlined\";\nexport { default as CarryOutTwoTone } from \"./CarryOutTwoTone\";\nexport { default as CheckCircleFilled } from \"./CheckCircleFilled\";\nexport { default as CheckCircleOutlined } from \"./CheckCircleOutlined\";\nexport { default as CheckCircleTwoTone } from \"./CheckCircleTwoTone\";\nexport { default as CheckOutlined } from \"./CheckOutlined\";\nexport { default as CheckSquareFilled } from \"./CheckSquareFilled\";\nexport { default as CheckSquareOutlined } from \"./CheckSquareOutlined\";\nexport { default as CheckSquareTwoTone } from \"./CheckSquareTwoTone\";\nexport { default as ChromeFilled } from \"./ChromeFilled\";\nexport { default as ChromeOutlined } from \"./ChromeOutlined\";\nexport { default as CiCircleFilled } from \"./CiCircleFilled\";\nexport { default as CiCircleOutlined } from \"./CiCircleOutlined\";\nexport { default as CiCircleTwoTone } from \"./CiCircleTwoTone\";\nexport { default as CiOutlined } from \"./CiOutlined\";\nexport { default as CiTwoTone } from \"./CiTwoTone\";\nexport { default as ClearOutlined } from \"./ClearOutlined\";\nexport { default as ClockCircleFilled } from \"./ClockCircleFilled\";\nexport { default as ClockCircleOutlined } from \"./ClockCircleOutlined\";\nexport { default as ClockCircleTwoTone } from \"./ClockCircleTwoTone\";\nexport { default as CloseCircleFilled } from \"./CloseCircleFilled\";\nexport { default as CloseCircleOutlined } from \"./CloseCircleOutlined\";\nexport { default as CloseCircleTwoTone } from \"./CloseCircleTwoTone\";\nexport { default as CloseOutlined } from \"./CloseOutlined\";\nexport { default as CloseSquareFilled } from \"./CloseSquareFilled\";\nexport { default as CloseSquareOutlined } from \"./CloseSquareOutlined\";\nexport { default as CloseSquareTwoTone } from \"./CloseSquareTwoTone\";\nexport { default as CloudDownloadOutlined } from \"./CloudDownloadOutlined\";\nexport { default as CloudFilled } from \"./CloudFilled\";\nexport { default as CloudOutlined } from \"./CloudOutlined\";\nexport { default as CloudServerOutlined } from \"./CloudServerOutlined\";\nexport { default as CloudSyncOutlined } from \"./CloudSyncOutlined\";\nexport { default as CloudTwoTone } from \"./CloudTwoTone\";\nexport { default as CloudUploadOutlined } from \"./CloudUploadOutlined\";\nexport { default as ClusterOutlined } from \"./ClusterOutlined\";\nexport { default as CodeFilled } from \"./CodeFilled\";\nexport { default as CodeOutlined } from \"./CodeOutlined\";\nexport { default as CodeSandboxCircleFilled } from \"./CodeSandboxCircleFilled\";\nexport { default as CodeSandboxOutlined } from \"./CodeSandboxOutlined\";\nexport { default as CodeSandboxSquareFilled } from \"./CodeSandboxSquareFilled\";\nexport { default as CodeTwoTone } from \"./CodeTwoTone\";\nexport { default as CodepenCircleFilled } from \"./CodepenCircleFilled\";\nexport { default as CodepenCircleOutlined } from \"./CodepenCircleOutlined\";\nexport { default as CodepenOutlined } from \"./CodepenOutlined\";\nexport { default as CodepenSquareFilled } from \"./CodepenSquareFilled\";\nexport { default as CoffeeOutlined } from \"./CoffeeOutlined\";\nexport { default as ColumnHeightOutlined } from \"./ColumnHeightOutlined\";\nexport { default as ColumnWidthOutlined } from \"./ColumnWidthOutlined\";\nexport { default as CommentOutlined } from \"./CommentOutlined\";\nexport { default as CompassFilled } from \"./CompassFilled\";\nexport { default as CompassOutlined } from \"./CompassOutlined\";\nexport { default as CompassTwoTone } from \"./CompassTwoTone\";\nexport { default as CompressOutlined } from \"./CompressOutlined\";\nexport { default as ConsoleSqlOutlined } from \"./ConsoleSqlOutlined\";\nexport { default as ContactsFilled } from \"./ContactsFilled\";\nexport { default as ContactsOutlined } from \"./ContactsOutlined\";\nexport { default as ContactsTwoTone } from \"./ContactsTwoTone\";\nexport { default as ContainerFilled } from \"./ContainerFilled\";\nexport { default as ContainerOutlined } from \"./ContainerOutlined\";\nexport { default as ContainerTwoTone } from \"./ContainerTwoTone\";\nexport { default as ControlFilled } from \"./ControlFilled\";\nexport { default as ControlOutlined } from \"./ControlOutlined\";\nexport { default as ControlTwoTone } from \"./ControlTwoTone\";\nexport { default as CopyFilled } from \"./CopyFilled\";\nexport { default as CopyOutlined } from \"./CopyOutlined\";\nexport { default as CopyTwoTone } from \"./CopyTwoTone\";\nexport { default as CopyrightCircleFilled } from \"./CopyrightCircleFilled\";\nexport { default as CopyrightCircleOutlined } from \"./CopyrightCircleOutlined\";\nexport { default as CopyrightCircleTwoTone } from \"./CopyrightCircleTwoTone\";\nexport { default as CopyrightOutlined } from \"./CopyrightOutlined\";\nexport { default as CopyrightTwoTone } from \"./CopyrightTwoTone\";\nexport { default as CreditCardFilled } from \"./CreditCardFilled\";\nexport { default as CreditCardOutlined } from \"./CreditCardOutlined\";\nexport { default as CreditCardTwoTone } from \"./CreditCardTwoTone\";\nexport { default as CrownFilled } from \"./CrownFilled\";\nexport { default as CrownOutlined } from \"./CrownOutlined\";\nexport { default as CrownTwoTone } from \"./CrownTwoTone\";\nexport { default as CustomerServiceFilled } from \"./CustomerServiceFilled\";\nexport { default as CustomerServiceOutlined } from \"./CustomerServiceOutlined\";\nexport { default as CustomerServiceTwoTone } from \"./CustomerServiceTwoTone\";\nexport { default as DashOutlined } from \"./DashOutlined\";\nexport { default as DashboardFilled } from \"./DashboardFilled\";\nexport { default as DashboardOutlined } from \"./DashboardOutlined\";\nexport { default as DashboardTwoTone } from \"./DashboardTwoTone\";\nexport { default as DatabaseFilled } from \"./DatabaseFilled\";\nexport { default as DatabaseOutlined } from \"./DatabaseOutlined\";\nexport { default as DatabaseTwoTone } from \"./DatabaseTwoTone\";\nexport { default as DeleteColumnOutlined } from \"./DeleteColumnOutlined\";\nexport { default as DeleteFilled } from \"./DeleteFilled\";\nexport { default as DeleteOutlined } from \"./DeleteOutlined\";\nexport { default as DeleteRowOutlined } from \"./DeleteRowOutlined\";\nexport { default as DeleteTwoTone } from \"./DeleteTwoTone\";\nexport { default as DeliveredProcedureOutlined } from \"./DeliveredProcedureOutlined\";\nexport { default as DeploymentUnitOutlined } from \"./DeploymentUnitOutlined\";\nexport { default as DesktopOutlined } from \"./DesktopOutlined\";\nexport { default as DiffFilled } from \"./DiffFilled\";\nexport { default as DiffOutlined } from \"./DiffOutlined\";\nexport { default as DiffTwoTone } from \"./DiffTwoTone\";\nexport { default as DingdingOutlined } from \"./DingdingOutlined\";\nexport { default as DingtalkCircleFilled } from \"./DingtalkCircleFilled\";\nexport { default as DingtalkOutlined } from \"./DingtalkOutlined\";\nexport { default as DingtalkSquareFilled } from \"./DingtalkSquareFilled\";\nexport { default as DisconnectOutlined } from \"./DisconnectOutlined\";\nexport { default as DiscordFilled } from \"./DiscordFilled\";\nexport { default as DiscordOutlined } from \"./DiscordOutlined\";\nexport { default as DislikeFilled } from \"./DislikeFilled\";\nexport { default as DislikeOutlined } from \"./DislikeOutlined\";\nexport { default as DislikeTwoTone } from \"./DislikeTwoTone\";\nexport { default as DockerOutlined } from \"./DockerOutlined\";\nexport { default as DollarCircleFilled } from \"./DollarCircleFilled\";\nexport { default as DollarCircleOutlined } from \"./DollarCircleOutlined\";\nexport { default as DollarCircleTwoTone } from \"./DollarCircleTwoTone\";\nexport { default as DollarOutlined } from \"./DollarOutlined\";\nexport { default as DollarTwoTone } from \"./DollarTwoTone\";\nexport { default as DotChartOutlined } from \"./DotChartOutlined\";\nexport { default as DotNetOutlined } from \"./DotNetOutlined\";\nexport { default as DoubleLeftOutlined } from \"./DoubleLeftOutlined\";\nexport { default as DoubleRightOutlined } from \"./DoubleRightOutlined\";\nexport { default as DownCircleFilled } from \"./DownCircleFilled\";\nexport { default as DownCircleOutlined } from \"./DownCircleOutlined\";\nexport { default as DownCircleTwoTone } from \"./DownCircleTwoTone\";\nexport { default as DownOutlined } from \"./DownOutlined\";\nexport { default as DownSquareFilled } from \"./DownSquareFilled\";\nexport { default as DownSquareOutlined } from \"./DownSquareOutlined\";\nexport { default as DownSquareTwoTone } from \"./DownSquareTwoTone\";\nexport { default as DownloadOutlined } from \"./DownloadOutlined\";\nexport { default as DragOutlined } from \"./DragOutlined\";\nexport { default as DribbbleCircleFilled } from \"./DribbbleCircleFilled\";\nexport { default as DribbbleOutlined } from \"./DribbbleOutlined\";\nexport { default as DribbbleSquareFilled } from \"./DribbbleSquareFilled\";\nexport { default as DribbbleSquareOutlined } from \"./DribbbleSquareOutlined\";\nexport { default as DropboxCircleFilled } from \"./DropboxCircleFilled\";\nexport { default as DropboxOutlined } from \"./DropboxOutlined\";\nexport { default as DropboxSquareFilled } from \"./DropboxSquareFilled\";\nexport { default as EditFilled } from \"./EditFilled\";\nexport { default as EditOutlined } from \"./EditOutlined\";\nexport { default as EditTwoTone } from \"./EditTwoTone\";\nexport { default as EllipsisOutlined } from \"./EllipsisOutlined\";\nexport { default as EnterOutlined } from \"./EnterOutlined\";\nexport { default as EnvironmentFilled } from \"./EnvironmentFilled\";\nexport { default as EnvironmentOutlined } from \"./EnvironmentOutlined\";\nexport { default as EnvironmentTwoTone } from \"./EnvironmentTwoTone\";\nexport { default as EuroCircleFilled } from \"./EuroCircleFilled\";\nexport { default as EuroCircleOutlined } from \"./EuroCircleOutlined\";\nexport { default as EuroCircleTwoTone } from \"./EuroCircleTwoTone\";\nexport { default as EuroOutlined } from \"./EuroOutlined\";\nexport { default as EuroTwoTone } from \"./EuroTwoTone\";\nexport { default as ExceptionOutlined } from \"./ExceptionOutlined\";\nexport { default as ExclamationCircleFilled } from \"./ExclamationCircleFilled\";\nexport { default as ExclamationCircleOutlined } from \"./ExclamationCircleOutlined\";\nexport { default as ExclamationCircleTwoTone } from \"./ExclamationCircleTwoTone\";\nexport { default as ExclamationOutlined } from \"./ExclamationOutlined\";\nexport { default as ExpandAltOutlined } from \"./ExpandAltOutlined\";\nexport { default as ExpandOutlined } from \"./ExpandOutlined\";\nexport { default as ExperimentFilled } from \"./ExperimentFilled\";\nexport { default as ExperimentOutlined } from \"./ExperimentOutlined\";\nexport { default as ExperimentTwoTone } from \"./ExperimentTwoTone\";\nexport { default as ExportOutlined } from \"./ExportOutlined\";\nexport { default as EyeFilled } from \"./EyeFilled\";\nexport { default as EyeInvisibleFilled } from \"./EyeInvisibleFilled\";\nexport { default as EyeInvisibleOutlined } from \"./EyeInvisibleOutlined\";\nexport { default as EyeInvisibleTwoTone } from \"./EyeInvisibleTwoTone\";\nexport { default as EyeOutlined } from \"./EyeOutlined\";\nexport { default as EyeTwoTone } from \"./EyeTwoTone\";\nexport { default as FacebookFilled } from \"./FacebookFilled\";\nexport { default as FacebookOutlined } from \"./FacebookOutlined\";\nexport { default as FallOutlined } from \"./FallOutlined\";\nexport { default as FastBackwardFilled } from \"./FastBackwardFilled\";\nexport { default as FastBackwardOutlined } from \"./FastBackwardOutlined\";\nexport { default as FastForwardFilled } from \"./FastForwardFilled\";\nexport { default as FastForwardOutlined } from \"./FastForwardOutlined\";\nexport { default as FieldBinaryOutlined } from \"./FieldBinaryOutlined\";\nexport { default as FieldNumberOutlined } from \"./FieldNumberOutlined\";\nexport { default as FieldStringOutlined } from \"./FieldStringOutlined\";\nexport { default as FieldTimeOutlined } from \"./FieldTimeOutlined\";\nexport { default as FileAddFilled } from \"./FileAddFilled\";\nexport { default as FileAddOutlined } from \"./FileAddOutlined\";\nexport { default as FileAddTwoTone } from \"./FileAddTwoTone\";\nexport { default as FileDoneOutlined } from \"./FileDoneOutlined\";\nexport { default as FileExcelFilled } from \"./FileExcelFilled\";\nexport { default as FileExcelOutlined } from \"./FileExcelOutlined\";\nexport { default as FileExcelTwoTone } from \"./FileExcelTwoTone\";\nexport { default as FileExclamationFilled } from \"./FileExclamationFilled\";\nexport { default as FileExclamationOutlined } from \"./FileExclamationOutlined\";\nexport { default as FileExclamationTwoTone } from \"./FileExclamationTwoTone\";\nexport { default as FileFilled } from \"./FileFilled\";\nexport { default as FileGifOutlined } from \"./FileGifOutlined\";\nexport { default as FileImageFilled } from \"./FileImageFilled\";\nexport { default as FileImageOutlined } from \"./FileImageOutlined\";\nexport { default as FileImageTwoTone } from \"./FileImageTwoTone\";\nexport { default as FileJpgOutlined } from \"./FileJpgOutlined\";\nexport { default as FileMarkdownFilled } from \"./FileMarkdownFilled\";\nexport { default as FileMarkdownOutlined } from \"./FileMarkdownOutlined\";\nexport { default as FileMarkdownTwoTone } from \"./FileMarkdownTwoTone\";\nexport { default as FileOutlined } from \"./FileOutlined\";\nexport { default as FilePdfFilled } from \"./FilePdfFilled\";\nexport { default as FilePdfOutlined } from \"./FilePdfOutlined\";\nexport { default as FilePdfTwoTone } from \"./FilePdfTwoTone\";\nexport { default as FilePptFilled } from \"./FilePptFilled\";\nexport { default as FilePptOutlined } from \"./FilePptOutlined\";\nexport { default as FilePptTwoTone } from \"./FilePptTwoTone\";\nexport { default as FileProtectOutlined } from \"./FileProtectOutlined\";\nexport { default as FileSearchOutlined } from \"./FileSearchOutlined\";\nexport { default as FileSyncOutlined } from \"./FileSyncOutlined\";\nexport { default as FileTextFilled } from \"./FileTextFilled\";\nexport { default as FileTextOutlined } from \"./FileTextOutlined\";\nexport { default as FileTextTwoTone } from \"./FileTextTwoTone\";\nexport { default as FileTwoTone } from \"./FileTwoTone\";\nexport { default as FileUnknownFilled } from \"./FileUnknownFilled\";\nexport { default as FileUnknownOutlined } from \"./FileUnknownOutlined\";\nexport { default as FileUnknownTwoTone } from \"./FileUnknownTwoTone\";\nexport { default as FileWordFilled } from \"./FileWordFilled\";\nexport { default as FileWordOutlined } from \"./FileWordOutlined\";\nexport { default as FileWordTwoTone } from \"./FileWordTwoTone\";\nexport { default as FileZipFilled } from \"./FileZipFilled\";\nexport { default as FileZipOutlined } from \"./FileZipOutlined\";\nexport { default as FileZipTwoTone } from \"./FileZipTwoTone\";\nexport { default as FilterFilled } from \"./FilterFilled\";\nexport { default as FilterOutlined } from \"./FilterOutlined\";\nexport { default as FilterTwoTone } from \"./FilterTwoTone\";\nexport { default as FireFilled } from \"./FireFilled\";\nexport { default as FireOutlined } from \"./FireOutlined\";\nexport { default as FireTwoTone } from \"./FireTwoTone\";\nexport { default as FlagFilled } from \"./FlagFilled\";\nexport { default as FlagOutlined } from \"./FlagOutlined\";\nexport { default as FlagTwoTone } from \"./FlagTwoTone\";\nexport { default as FolderAddFilled } from \"./FolderAddFilled\";\nexport { default as FolderAddOutlined } from \"./FolderAddOutlined\";\nexport { default as FolderAddTwoTone } from \"./FolderAddTwoTone\";\nexport { default as FolderFilled } from \"./FolderFilled\";\nexport { default as FolderOpenFilled } from \"./FolderOpenFilled\";\nexport { default as FolderOpenOutlined } from \"./FolderOpenOutlined\";\nexport { default as FolderOpenTwoTone } from \"./FolderOpenTwoTone\";\nexport { default as FolderOutlined } from \"./FolderOutlined\";\nexport { default as FolderTwoTone } from \"./FolderTwoTone\";\nexport { default as FolderViewOutlined } from \"./FolderViewOutlined\";\nexport { default as FontColorsOutlined } from \"./FontColorsOutlined\";\nexport { default as FontSizeOutlined } from \"./FontSizeOutlined\";\nexport { default as ForkOutlined } from \"./ForkOutlined\";\nexport { default as FormOutlined } from \"./FormOutlined\";\nexport { default as FormatPainterFilled } from \"./FormatPainterFilled\";\nexport { default as FormatPainterOutlined } from \"./FormatPainterOutlined\";\nexport { default as ForwardFilled } from \"./ForwardFilled\";\nexport { default as ForwardOutlined } from \"./ForwardOutlined\";\nexport { default as FrownFilled } from \"./FrownFilled\";\nexport { default as FrownOutlined } from \"./FrownOutlined\";\nexport { default as FrownTwoTone } from \"./FrownTwoTone\";\nexport { default as FullscreenExitOutlined } from \"./FullscreenExitOutlined\";\nexport { default as FullscreenOutlined } from \"./FullscreenOutlined\";\nexport { default as FunctionOutlined } from \"./FunctionOutlined\";\nexport { default as FundFilled } from \"./FundFilled\";\nexport { default as FundOutlined } from \"./FundOutlined\";\nexport { default as FundProjectionScreenOutlined } from \"./FundProjectionScreenOutlined\";\nexport { default as FundTwoTone } from \"./FundTwoTone\";\nexport { default as FundViewOutlined } from \"./FundViewOutlined\";\nexport { default as FunnelPlotFilled } from \"./FunnelPlotFilled\";\nexport { default as FunnelPlotOutlined } from \"./FunnelPlotOutlined\";\nexport { default as FunnelPlotTwoTone } from \"./FunnelPlotTwoTone\";\nexport { default as GatewayOutlined } from \"./GatewayOutlined\";\nexport { default as GifOutlined } from \"./GifOutlined\";\nexport { default as GiftFilled } from \"./GiftFilled\";\nexport { default as GiftOutlined } from \"./GiftOutlined\";\nexport { default as GiftTwoTone } from \"./GiftTwoTone\";\nexport { default as GithubFilled } from \"./GithubFilled\";\nexport { default as GithubOutlined } from \"./GithubOutlined\";\nexport { default as GitlabFilled } from \"./GitlabFilled\";\nexport { default as GitlabOutlined } from \"./GitlabOutlined\";\nexport { default as GlobalOutlined } from \"./GlobalOutlined\";\nexport { default as GoldFilled } from \"./GoldFilled\";\nexport { default as GoldOutlined } from \"./GoldOutlined\";\nexport { default as GoldTwoTone } from \"./GoldTwoTone\";\nexport { default as GoldenFilled } from \"./GoldenFilled\";\nexport { default as GoogleCircleFilled } from \"./GoogleCircleFilled\";\nexport { default as GoogleOutlined } from \"./GoogleOutlined\";\nexport { default as GooglePlusCircleFilled } from \"./GooglePlusCircleFilled\";\nexport { default as GooglePlusOutlined } from \"./GooglePlusOutlined\";\nexport { default as GooglePlusSquareFilled } from \"./GooglePlusSquareFilled\";\nexport { default as GoogleSquareFilled } from \"./GoogleSquareFilled\";\nexport { default as GroupOutlined } from \"./GroupOutlined\";\nexport { default as HarmonyOSOutlined } from \"./HarmonyOSOutlined\";\nexport { default as HddFilled } from \"./HddFilled\";\nexport { default as HddOutlined } from \"./HddOutlined\";\nexport { default as HddTwoTone } from \"./HddTwoTone\";\nexport { default as HeartFilled } from \"./HeartFilled\";\nexport { default as HeartOutlined } from \"./HeartOutlined\";\nexport { default as HeartTwoTone } from \"./HeartTwoTone\";\nexport { default as HeatMapOutlined } from \"./HeatMapOutlined\";\nexport { default as HighlightFilled } from \"./HighlightFilled\";\nexport { default as HighlightOutlined } from \"./HighlightOutlined\";\nexport { default as HighlightTwoTone } from \"./HighlightTwoTone\";\nexport { default as HistoryOutlined } from \"./HistoryOutlined\";\nexport { default as HolderOutlined } from \"./HolderOutlined\";\nexport { default as HomeFilled } from \"./HomeFilled\";\nexport { default as HomeOutlined } from \"./HomeOutlined\";\nexport { default as HomeTwoTone } from \"./HomeTwoTone\";\nexport { default as HourglassFilled } from \"./HourglassFilled\";\nexport { default as HourglassOutlined } from \"./HourglassOutlined\";\nexport { default as HourglassTwoTone } from \"./HourglassTwoTone\";\nexport { default as Html5Filled } from \"./Html5Filled\";\nexport { default as Html5Outlined } from \"./Html5Outlined\";\nexport { default as Html5TwoTone } from \"./Html5TwoTone\";\nexport { default as IdcardFilled } from \"./IdcardFilled\";\nexport { default as IdcardOutlined } from \"./IdcardOutlined\";\nexport { default as IdcardTwoTone } from \"./IdcardTwoTone\";\nexport { default as IeCircleFilled } from \"./IeCircleFilled\";\nexport { default as IeOutlined } from \"./IeOutlined\";\nexport { default as IeSquareFilled } from \"./IeSquareFilled\";\nexport { default as ImportOutlined } from \"./ImportOutlined\";\nexport { default as InboxOutlined } from \"./InboxOutlined\";\nexport { default as InfoCircleFilled } from \"./InfoCircleFilled\";\nexport { default as InfoCircleOutlined } from \"./InfoCircleOutlined\";\nexport { default as InfoCircleTwoTone } from \"./InfoCircleTwoTone\";\nexport { default as InfoOutlined } from \"./InfoOutlined\";\nexport { default as InsertRowAboveOutlined } from \"./InsertRowAboveOutlined\";\nexport { default as InsertRowBelowOutlined } from \"./InsertRowBelowOutlined\";\nexport { default as InsertRowLeftOutlined } from \"./InsertRowLeftOutlined\";\nexport { default as InsertRowRightOutlined } from \"./InsertRowRightOutlined\";\nexport { default as InstagramFilled } from \"./InstagramFilled\";\nexport { default as InstagramOutlined } from \"./InstagramOutlined\";\nexport { default as InsuranceFilled } from \"./InsuranceFilled\";\nexport { default as InsuranceOutlined } from \"./InsuranceOutlined\";\nexport { default as InsuranceTwoTone } from \"./InsuranceTwoTone\";\nexport { default as InteractionFilled } from \"./InteractionFilled\";\nexport { default as InteractionOutlined } from \"./InteractionOutlined\";\nexport { default as InteractionTwoTone } from \"./InteractionTwoTone\";\nexport { default as IssuesCloseOutlined } from \"./IssuesCloseOutlined\";\nexport { default as ItalicOutlined } from \"./ItalicOutlined\";\nexport { default as JavaOutlined } from \"./JavaOutlined\";\nexport { default as JavaScriptOutlined } from \"./JavaScriptOutlined\";\nexport { default as KeyOutlined } from \"./KeyOutlined\";\nexport { default as KubernetesOutlined } from \"./KubernetesOutlined\";\nexport { default as LaptopOutlined } from \"./LaptopOutlined\";\nexport { default as LayoutFilled } from \"./LayoutFilled\";\nexport { default as LayoutOutlined } from \"./LayoutOutlined\";\nexport { default as LayoutTwoTone } from \"./LayoutTwoTone\";\nexport { default as LeftCircleFilled } from \"./LeftCircleFilled\";\nexport { default as LeftCircleOutlined } from \"./LeftCircleOutlined\";\nexport { default as LeftCircleTwoTone } from \"./LeftCircleTwoTone\";\nexport { default as LeftOutlined } from \"./LeftOutlined\";\nexport { default as LeftSquareFilled } from \"./LeftSquareFilled\";\nexport { default as LeftSquareOutlined } from \"./LeftSquareOutlined\";\nexport { default as LeftSquareTwoTone } from \"./LeftSquareTwoTone\";\nexport { default as LikeFilled } from \"./LikeFilled\";\nexport { default as LikeOutlined } from \"./LikeOutlined\";\nexport { default as LikeTwoTone } from \"./LikeTwoTone\";\nexport { default as LineChartOutlined } from \"./LineChartOutlined\";\nexport { default as LineHeightOutlined } from \"./LineHeightOutlined\";\nexport { default as LineOutlined } from \"./LineOutlined\";\nexport { default as LinkOutlined } from \"./LinkOutlined\";\nexport { default as LinkedinFilled } from \"./LinkedinFilled\";\nexport { default as LinkedinOutlined } from \"./LinkedinOutlined\";\nexport { default as LinuxOutlined } from \"./LinuxOutlined\";\nexport { default as Loading3QuartersOutlined } from \"./Loading3QuartersOutlined\";\nexport { default as LoadingOutlined } from \"./LoadingOutlined\";\nexport { default as LockFilled } from \"./LockFilled\";\nexport { default as LockOutlined } from \"./LockOutlined\";\nexport { default as LockTwoTone } from \"./LockTwoTone\";\nexport { default as LoginOutlined } from \"./LoginOutlined\";\nexport { default as LogoutOutlined } from \"./LogoutOutlined\";\nexport { default as MacCommandFilled } from \"./MacCommandFilled\";\nexport { default as MacCommandOutlined } from \"./MacCommandOutlined\";\nexport { default as MailFilled } from \"./MailFilled\";\nexport { default as MailOutlined } from \"./MailOutlined\";\nexport { default as MailTwoTone } from \"./MailTwoTone\";\nexport { default as ManOutlined } from \"./ManOutlined\";\nexport { default as MedicineBoxFilled } from \"./MedicineBoxFilled\";\nexport { default as MedicineBoxOutlined } from \"./MedicineBoxOutlined\";\nexport { default as MedicineBoxTwoTone } from \"./MedicineBoxTwoTone\";\nexport { default as MediumCircleFilled } from \"./MediumCircleFilled\";\nexport { default as MediumOutlined } from \"./MediumOutlined\";\nexport { default as MediumSquareFilled } from \"./MediumSquareFilled\";\nexport { default as MediumWorkmarkOutlined } from \"./MediumWorkmarkOutlined\";\nexport { default as MehFilled } from \"./MehFilled\";\nexport { default as MehOutlined } from \"./MehOutlined\";\nexport { default as MehTwoTone } from \"./MehTwoTone\";\nexport { default as MenuFoldOutlined } from \"./MenuFoldOutlined\";\nexport { default as MenuOutlined } from \"./MenuOutlined\";\nexport { default as MenuUnfoldOutlined } from \"./MenuUnfoldOutlined\";\nexport { default as MergeCellsOutlined } from \"./MergeCellsOutlined\";\nexport { default as MergeFilled } from \"./MergeFilled\";\nexport { default as MergeOutlined } from \"./MergeOutlined\";\nexport { default as MessageFilled } from \"./MessageFilled\";\nexport { default as MessageOutlined } from \"./MessageOutlined\";\nexport { default as MessageTwoTone } from \"./MessageTwoTone\";\nexport { default as MinusCircleFilled } from \"./MinusCircleFilled\";\nexport { default as MinusCircleOutlined } from \"./MinusCircleOutlined\";\nexport { default as MinusCircleTwoTone } from \"./MinusCircleTwoTone\";\nexport { default as MinusOutlined } from \"./MinusOutlined\";\nexport { default as MinusSquareFilled } from \"./MinusSquareFilled\";\nexport { default as MinusSquareOutlined } from \"./MinusSquareOutlined\";\nexport { default as MinusSquareTwoTone } from \"./MinusSquareTwoTone\";\nexport { default as MobileFilled } from \"./MobileFilled\";\nexport { default as MobileOutlined } from \"./MobileOutlined\";\nexport { default as MobileTwoTone } from \"./MobileTwoTone\";\nexport { default as MoneyCollectFilled } from \"./MoneyCollectFilled\";\nexport { default as MoneyCollectOutlined } from \"./MoneyCollectOutlined\";\nexport { default as MoneyCollectTwoTone } from \"./MoneyCollectTwoTone\";\nexport { default as MonitorOutlined } from \"./MonitorOutlined\";\nexport { default as MoonFilled } from \"./MoonFilled\";\nexport { default as MoonOutlined } from \"./MoonOutlined\";\nexport { default as MoreOutlined } from \"./MoreOutlined\";\nexport { default as MutedFilled } from \"./MutedFilled\";\nexport { default as MutedOutlined } from \"./MutedOutlined\";\nexport { default as NodeCollapseOutlined } from \"./NodeCollapseOutlined\";\nexport { default as NodeExpandOutlined } from \"./NodeExpandOutlined\";\nexport { default as NodeIndexOutlined } from \"./NodeIndexOutlined\";\nexport { default as NotificationFilled } from \"./NotificationFilled\";\nexport { default as NotificationOutlined } from \"./NotificationOutlined\";\nexport { default as NotificationTwoTone } from \"./NotificationTwoTone\";\nexport { default as NumberOutlined } from \"./NumberOutlined\";\nexport { default as OneToOneOutlined } from \"./OneToOneOutlined\";\nexport { default as OpenAIFilled } from \"./OpenAIFilled\";\nexport { default as OpenAIOutlined } from \"./OpenAIOutlined\";\nexport { default as OrderedListOutlined } from \"./OrderedListOutlined\";\nexport { default as PaperClipOutlined } from \"./PaperClipOutlined\";\nexport { default as PartitionOutlined } from \"./PartitionOutlined\";\nexport { default as PauseCircleFilled } from \"./PauseCircleFilled\";\nexport { default as PauseCircleOutlined } from \"./PauseCircleOutlined\";\nexport { default as PauseCircleTwoTone } from \"./PauseCircleTwoTone\";\nexport { default as PauseOutlined } from \"./PauseOutlined\";\nexport { default as PayCircleFilled } from \"./PayCircleFilled\";\nexport { default as PayCircleOutlined } from \"./PayCircleOutlined\";\nexport { default as PercentageOutlined } from \"./PercentageOutlined\";\nexport { default as PhoneFilled } from \"./PhoneFilled\";\nexport { default as PhoneOutlined } from \"./PhoneOutlined\";\nexport { default as PhoneTwoTone } from \"./PhoneTwoTone\";\nexport { default as PicCenterOutlined } from \"./PicCenterOutlined\";\nexport { default as PicLeftOutlined } from \"./PicLeftOutlined\";\nexport { default as PicRightOutlined } from \"./PicRightOutlined\";\nexport { default as PictureFilled } from \"./PictureFilled\";\nexport { default as PictureOutlined } from \"./PictureOutlined\";\nexport { default as PictureTwoTone } from \"./PictureTwoTone\";\nexport { default as PieChartFilled } from \"./PieChartFilled\";\nexport { default as PieChartOutlined } from \"./PieChartOutlined\";\nexport { default as PieChartTwoTone } from \"./PieChartTwoTone\";\nexport { default as PinterestFilled } from \"./PinterestFilled\";\nexport { default as PinterestOutlined } from \"./PinterestOutlined\";\nexport { default as PlayCircleFilled } from \"./PlayCircleFilled\";\nexport { default as PlayCircleOutlined } from \"./PlayCircleOutlined\";\nexport { default as PlayCircleTwoTone } from \"./PlayCircleTwoTone\";\nexport { default as PlaySquareFilled } from \"./PlaySquareFilled\";\nexport { default as PlaySquareOutlined } from \"./PlaySquareOutlined\";\nexport { default as PlaySquareTwoTone } from \"./PlaySquareTwoTone\";\nexport { default as PlusCircleFilled } from \"./PlusCircleFilled\";\nexport { default as PlusCircleOutlined } from \"./PlusCircleOutlined\";\nexport { default as PlusCircleTwoTone } from \"./PlusCircleTwoTone\";\nexport { default as PlusOutlined } from \"./PlusOutlined\";\nexport { default as PlusSquareFilled } from \"./PlusSquareFilled\";\nexport { default as PlusSquareOutlined } from \"./PlusSquareOutlined\";\nexport { default as PlusSquareTwoTone } from \"./PlusSquareTwoTone\";\nexport { default as PoundCircleFilled } from \"./PoundCircleFilled\";\nexport { default as PoundCircleOutlined } from \"./PoundCircleOutlined\";\nexport { default as PoundCircleTwoTone } from \"./PoundCircleTwoTone\";\nexport { default as PoundOutlined } from \"./PoundOutlined\";\nexport { default as PoweroffOutlined } from \"./PoweroffOutlined\";\nexport { default as PrinterFilled } from \"./PrinterFilled\";\nexport { default as PrinterOutlined } from \"./PrinterOutlined\";\nexport { default as PrinterTwoTone } from \"./PrinterTwoTone\";\nexport { default as ProductFilled } from \"./ProductFilled\";\nexport { default as ProductOutlined } from \"./ProductOutlined\";\nexport { default as ProfileFilled } from \"./ProfileFilled\";\nexport { default as ProfileOutlined } from \"./ProfileOutlined\";\nexport { default as ProfileTwoTone } from \"./ProfileTwoTone\";\nexport { default as ProjectFilled } from \"./ProjectFilled\";\nexport { default as ProjectOutlined } from \"./ProjectOutlined\";\nexport { default as ProjectTwoTone } from \"./ProjectTwoTone\";\nexport { default as PropertySafetyFilled } from \"./PropertySafetyFilled\";\nexport { default as PropertySafetyOutlined } from \"./PropertySafetyOutlined\";\nexport { default as PropertySafetyTwoTone } from \"./PropertySafetyTwoTone\";\nexport { default as PullRequestOutlined } from \"./PullRequestOutlined\";\nexport { default as PushpinFilled } from \"./PushpinFilled\";\nexport { default as PushpinOutlined } from \"./PushpinOutlined\";\nexport { default as PushpinTwoTone } from \"./PushpinTwoTone\";\nexport { default as PythonOutlined } from \"./PythonOutlined\";\nexport { default as QqCircleFilled } from \"./QqCircleFilled\";\nexport { default as QqOutlined } from \"./QqOutlined\";\nexport { default as QqSquareFilled } from \"./QqSquareFilled\";\nexport { default as QrcodeOutlined } from \"./QrcodeOutlined\";\nexport { default as QuestionCircleFilled } from \"./QuestionCircleFilled\";\nexport { default as QuestionCircleOutlined } from \"./QuestionCircleOutlined\";\nexport { default as QuestionCircleTwoTone } from \"./QuestionCircleTwoTone\";\nexport { default as QuestionOutlined } from \"./QuestionOutlined\";\nexport { default as RadarChartOutlined } from \"./RadarChartOutlined\";\nexport { default as RadiusBottomleftOutlined } from \"./RadiusBottomleftOutlined\";\nexport { default as RadiusBottomrightOutlined } from \"./RadiusBottomrightOutlined\";\nexport { default as RadiusSettingOutlined } from \"./RadiusSettingOutlined\";\nexport { default as RadiusUpleftOutlined } from \"./RadiusUpleftOutlined\";\nexport { default as RadiusUprightOutlined } from \"./RadiusUprightOutlined\";\nexport { default as ReadFilled } from \"./ReadFilled\";\nexport { default as ReadOutlined } from \"./ReadOutlined\";\nexport { default as ReconciliationFilled } from \"./ReconciliationFilled\";\nexport { default as ReconciliationOutlined } from \"./ReconciliationOutlined\";\nexport { default as ReconciliationTwoTone } from \"./ReconciliationTwoTone\";\nexport { default as RedEnvelopeFilled } from \"./RedEnvelopeFilled\";\nexport { default as RedEnvelopeOutlined } from \"./RedEnvelopeOutlined\";\nexport { default as RedEnvelopeTwoTone } from \"./RedEnvelopeTwoTone\";\nexport { default as RedditCircleFilled } from \"./RedditCircleFilled\";\nexport { default as RedditOutlined } from \"./RedditOutlined\";\nexport { default as RedditSquareFilled } from \"./RedditSquareFilled\";\nexport { default as RedoOutlined } from \"./RedoOutlined\";\nexport { default as ReloadOutlined } from \"./ReloadOutlined\";\nexport { default as RestFilled } from \"./RestFilled\";\nexport { default as RestOutlined } from \"./RestOutlined\";\nexport { default as RestTwoTone } from \"./RestTwoTone\";\nexport { default as RetweetOutlined } from \"./RetweetOutlined\";\nexport { default as RightCircleFilled } from \"./RightCircleFilled\";\nexport { default as RightCircleOutlined } from \"./RightCircleOutlined\";\nexport { default as RightCircleTwoTone } from \"./RightCircleTwoTone\";\nexport { default as RightOutlined } from \"./RightOutlined\";\nexport { default as RightSquareFilled } from \"./RightSquareFilled\";\nexport { default as RightSquareOutlined } from \"./RightSquareOutlined\";\nexport { default as RightSquareTwoTone } from \"./RightSquareTwoTone\";\nexport { default as RiseOutlined } from \"./RiseOutlined\";\nexport { default as RobotFilled } from \"./RobotFilled\";\nexport { default as RobotOutlined } from \"./RobotOutlined\";\nexport { default as RocketFilled } from \"./RocketFilled\";\nexport { default as RocketOutlined } from \"./RocketOutlined\";\nexport { default as RocketTwoTone } from \"./RocketTwoTone\";\nexport { default as RollbackOutlined } from \"./RollbackOutlined\";\nexport { default as RotateLeftOutlined } from \"./RotateLeftOutlined\";\nexport { default as RotateRightOutlined } from \"./RotateRightOutlined\";\nexport { default as RubyOutlined } from \"./RubyOutlined\";\nexport { default as SafetyCertificateFilled } from \"./SafetyCertificateFilled\";\nexport { default as SafetyCertificateOutlined } from \"./SafetyCertificateOutlined\";\nexport { default as SafetyCertificateTwoTone } from \"./SafetyCertificateTwoTone\";\nexport { default as SafetyOutlined } from \"./SafetyOutlined\";\nexport { default as SaveFilled } from \"./SaveFilled\";\nexport { default as SaveOutlined } from \"./SaveOutlined\";\nexport { default as SaveTwoTone } from \"./SaveTwoTone\";\nexport { default as ScanOutlined } from \"./ScanOutlined\";\nexport { default as ScheduleFilled } from \"./ScheduleFilled\";\nexport { default as ScheduleOutlined } from \"./ScheduleOutlined\";\nexport { default as ScheduleTwoTone } from \"./ScheduleTwoTone\";\nexport { default as ScissorOutlined } from \"./ScissorOutlined\";\nexport { default as SearchOutlined } from \"./SearchOutlined\";\nexport { default as SecurityScanFilled } from \"./SecurityScanFilled\";\nexport { default as SecurityScanOutlined } from \"./SecurityScanOutlined\";\nexport { default as SecurityScanTwoTone } from \"./SecurityScanTwoTone\";\nexport { default as SelectOutlined } from \"./SelectOutlined\";\nexport { default as SendOutlined } from \"./SendOutlined\";\nexport { default as SettingFilled } from \"./SettingFilled\";\nexport { default as SettingOutlined } from \"./SettingOutlined\";\nexport { default as SettingTwoTone } from \"./SettingTwoTone\";\nexport { default as ShakeOutlined } from \"./ShakeOutlined\";\nexport { default as ShareAltOutlined } from \"./ShareAltOutlined\";\nexport { default as ShopFilled } from \"./ShopFilled\";\nexport { default as ShopOutlined } from \"./ShopOutlined\";\nexport { default as ShopTwoTone } from \"./ShopTwoTone\";\nexport { default as ShoppingCartOutlined } from \"./ShoppingCartOutlined\";\nexport { default as ShoppingFilled } from \"./ShoppingFilled\";\nexport { default as ShoppingOutlined } from \"./ShoppingOutlined\";\nexport { default as ShoppingTwoTone } from \"./ShoppingTwoTone\";\nexport { default as ShrinkOutlined } from \"./ShrinkOutlined\";\nexport { default as SignalFilled } from \"./SignalFilled\";\nexport { default as SignatureFilled } from \"./SignatureFilled\";\nexport { default as SignatureOutlined } from \"./SignatureOutlined\";\nexport { default as SisternodeOutlined } from \"./SisternodeOutlined\";\nexport { default as SketchCircleFilled } from \"./SketchCircleFilled\";\nexport { default as SketchOutlined } from \"./SketchOutlined\";\nexport { default as SketchSquareFilled } from \"./SketchSquareFilled\";\nexport { default as SkinFilled } from \"./SkinFilled\";\nexport { default as SkinOutlined } from \"./SkinOutlined\";\nexport { default as SkinTwoTone } from \"./SkinTwoTone\";\nexport { default as SkypeFilled } from \"./SkypeFilled\";\nexport { default as SkypeOutlined } from \"./SkypeOutlined\";\nexport { default as SlackCircleFilled } from \"./SlackCircleFilled\";\nexport { default as SlackOutlined } from \"./SlackOutlined\";\nexport { default as SlackSquareFilled } from \"./SlackSquareFilled\";\nexport { default as SlackSquareOutlined } from \"./SlackSquareOutlined\";\nexport { default as SlidersFilled } from \"./SlidersFilled\";\nexport { default as SlidersOutlined } from \"./SlidersOutlined\";\nexport { default as SlidersTwoTone } from \"./SlidersTwoTone\";\nexport { default as SmallDashOutlined } from \"./SmallDashOutlined\";\nexport { default as SmileFilled } from \"./SmileFilled\";\nexport { default as SmileOutlined } from \"./SmileOutlined\";\nexport { default as SmileTwoTone } from \"./SmileTwoTone\";\nexport { default as SnippetsFilled } from \"./SnippetsFilled\";\nexport { default as SnippetsOutlined } from \"./SnippetsOutlined\";\nexport { default as SnippetsTwoTone } from \"./SnippetsTwoTone\";\nexport { default as SolutionOutlined } from \"./SolutionOutlined\";\nexport { default as SortAscendingOutlined } from \"./SortAscendingOutlined\";\nexport { default as SortDescendingOutlined } from \"./SortDescendingOutlined\";\nexport { default as SoundFilled } from \"./SoundFilled\";\nexport { default as SoundOutlined } from \"./SoundOutlined\";\nexport { default as SoundTwoTone } from \"./SoundTwoTone\";\nexport { default as SplitCellsOutlined } from \"./SplitCellsOutlined\";\nexport { default as SpotifyFilled } from \"./SpotifyFilled\";\nexport { default as SpotifyOutlined } from \"./SpotifyOutlined\";\nexport { default as StarFilled } from \"./StarFilled\";\nexport { default as StarOutlined } from \"./StarOutlined\";\nexport { default as StarTwoTone } from \"./StarTwoTone\";\nexport { default as StepBackwardFilled } from \"./StepBackwardFilled\";\nexport { default as StepBackwardOutlined } from \"./StepBackwardOutlined\";\nexport { default as StepForwardFilled } from \"./StepForwardFilled\";\nexport { default as StepForwardOutlined } from \"./StepForwardOutlined\";\nexport { default as StockOutlined } from \"./StockOutlined\";\nexport { default as StopFilled } from \"./StopFilled\";\nexport { default as StopOutlined } from \"./StopOutlined\";\nexport { default as StopTwoTone } from \"./StopTwoTone\";\nexport { default as StrikethroughOutlined } from \"./StrikethroughOutlined\";\nexport { default as SubnodeOutlined } from \"./SubnodeOutlined\";\nexport { default as SunFilled } from \"./SunFilled\";\nexport { default as SunOutlined } from \"./SunOutlined\";\nexport { default as SwapLeftOutlined } from \"./SwapLeftOutlined\";\nexport { default as SwapOutlined } from \"./SwapOutlined\";\nexport { default as SwapRightOutlined } from \"./SwapRightOutlined\";\nexport { default as SwitcherFilled } from \"./SwitcherFilled\";\nexport { default as SwitcherOutlined } from \"./SwitcherOutlined\";\nexport { default as SwitcherTwoTone } from \"./SwitcherTwoTone\";\nexport { default as SyncOutlined } from \"./SyncOutlined\";\nexport { default as TableOutlined } from \"./TableOutlined\";\nexport { default as TabletFilled } from \"./TabletFilled\";\nexport { default as TabletOutlined } from \"./TabletOutlined\";\nexport { default as TabletTwoTone } from \"./TabletTwoTone\";\nexport { default as TagFilled } from \"./TagFilled\";\nexport { default as TagOutlined } from \"./TagOutlined\";\nexport { default as TagTwoTone } from \"./TagTwoTone\";\nexport { default as TagsFilled } from \"./TagsFilled\";\nexport { default as TagsOutlined } from \"./TagsOutlined\";\nexport { default as TagsTwoTone } from \"./TagsTwoTone\";\nexport { default as TaobaoCircleFilled } from \"./TaobaoCircleFilled\";\nexport { default as TaobaoCircleOutlined } from \"./TaobaoCircleOutlined\";\nexport { default as TaobaoOutlined } from \"./TaobaoOutlined\";\nexport { default as TaobaoSquareFilled } from \"./TaobaoSquareFilled\";\nexport { default as TeamOutlined } from \"./TeamOutlined\";\nexport { default as ThunderboltFilled } from \"./ThunderboltFilled\";\nexport { default as ThunderboltOutlined } from \"./ThunderboltOutlined\";\nexport { default as ThunderboltTwoTone } from \"./ThunderboltTwoTone\";\nexport { default as TikTokFilled } from \"./TikTokFilled\";\nexport { default as TikTokOutlined } from \"./TikTokOutlined\";\nexport { default as ToTopOutlined } from \"./ToTopOutlined\";\nexport { default as ToolFilled } from \"./ToolFilled\";\nexport { default as ToolOutlined } from \"./ToolOutlined\";\nexport { default as ToolTwoTone } from \"./ToolTwoTone\";\nexport { default as TrademarkCircleFilled } from \"./TrademarkCircleFilled\";\nexport { default as TrademarkCircleOutlined } from \"./TrademarkCircleOutlined\";\nexport { default as TrademarkCircleTwoTone } from \"./TrademarkCircleTwoTone\";\nexport { default as TrademarkOutlined } from \"./TrademarkOutlined\";\nexport { default as TransactionOutlined } from \"./TransactionOutlined\";\nexport { default as TranslationOutlined } from \"./TranslationOutlined\";\nexport { default as TrophyFilled } from \"./TrophyFilled\";\nexport { default as TrophyOutlined } from \"./TrophyOutlined\";\nexport { default as TrophyTwoTone } from \"./TrophyTwoTone\";\nexport { default as TruckFilled } from \"./TruckFilled\";\nexport { default as TruckOutlined } from \"./TruckOutlined\";\nexport { default as TwitchFilled } from \"./TwitchFilled\";\nexport { default as TwitchOutlined } from \"./TwitchOutlined\";\nexport { default as TwitterCircleFilled } from \"./TwitterCircleFilled\";\nexport { default as TwitterOutlined } from \"./TwitterOutlined\";\nexport { default as TwitterSquareFilled } from \"./TwitterSquareFilled\";\nexport { default as UnderlineOutlined } from \"./UnderlineOutlined\";\nexport { default as UndoOutlined } from \"./UndoOutlined\";\nexport { default as UngroupOutlined } from \"./UngroupOutlined\";\nexport { default as UnlockFilled } from \"./UnlockFilled\";\nexport { default as UnlockOutlined } from \"./UnlockOutlined\";\nexport { default as UnlockTwoTone } from \"./UnlockTwoTone\";\nexport { default as UnorderedListOutlined } from \"./UnorderedListOutlined\";\nexport { default as UpCircleFilled } from \"./UpCircleFilled\";\nexport { default as UpCircleOutlined } from \"./UpCircleOutlined\";\nexport { default as UpCircleTwoTone } from \"./UpCircleTwoTone\";\nexport { default as UpOutlined } from \"./UpOutlined\";\nexport { default as UpSquareFilled } from \"./UpSquareFilled\";\nexport { default as UpSquareOutlined } from \"./UpSquareOutlined\";\nexport { default as UpSquareTwoTone } from \"./UpSquareTwoTone\";\nexport { default as UploadOutlined } from \"./UploadOutlined\";\nexport { default as UsbFilled } from \"./UsbFilled\";\nexport { default as UsbOutlined } from \"./UsbOutlined\";\nexport { default as UsbTwoTone } from \"./UsbTwoTone\";\nexport { default as UserAddOutlined } from \"./UserAddOutlined\";\nexport { default as UserDeleteOutlined } from \"./UserDeleteOutlined\";\nexport { default as UserOutlined } from \"./UserOutlined\";\nexport { default as UserSwitchOutlined } from \"./UserSwitchOutlined\";\nexport { default as UsergroupAddOutlined } from \"./UsergroupAddOutlined\";\nexport { default as UsergroupDeleteOutlined } from \"./UsergroupDeleteOutlined\";\nexport { default as VerifiedOutlined } from \"./VerifiedOutlined\";\nexport { default as VerticalAlignBottomOutlined } from \"./VerticalAlignBottomOutlined\";\nexport { default as VerticalAlignMiddleOutlined } from \"./VerticalAlignMiddleOutlined\";\nexport { default as VerticalAlignTopOutlined } from \"./VerticalAlignTopOutlined\";\nexport { default as VerticalLeftOutlined } from \"./VerticalLeftOutlined\";\nexport { default as VerticalRightOutlined } from \"./VerticalRightOutlined\";\nexport { default as VideoCameraAddOutlined } from \"./VideoCameraAddOutlined\";\nexport { default as VideoCameraFilled } from \"./VideoCameraFilled\";\nexport { default as VideoCameraOutlined } from \"./VideoCameraOutlined\";\nexport { default as VideoCameraTwoTone } from \"./VideoCameraTwoTone\";\nexport { default as WalletFilled } from \"./WalletFilled\";\nexport { default as WalletOutlined } from \"./WalletOutlined\";\nexport { default as WalletTwoTone } from \"./WalletTwoTone\";\nexport { default as WarningFilled } from \"./WarningFilled\";\nexport { default as WarningOutlined } from \"./WarningOutlined\";\nexport { default as WarningTwoTone } from \"./WarningTwoTone\";\nexport { default as WechatFilled } from \"./WechatFilled\";\nexport { default as WechatOutlined } from \"./WechatOutlined\";\nexport { default as WechatWorkFilled } from \"./WechatWorkFilled\";\nexport { default as WechatWorkOutlined } from \"./WechatWorkOutlined\";\nexport { default as WeiboCircleFilled } from \"./WeiboCircleFilled\";\nexport { default as WeiboCircleOutlined } from \"./WeiboCircleOutlined\";\nexport { default as WeiboOutlined } from \"./WeiboOutlined\";\nexport { default as WeiboSquareFilled } from \"./WeiboSquareFilled\";\nexport { default as WeiboSquareOutlined } from \"./WeiboSquareOutlined\";\nexport { default as WhatsAppOutlined } from \"./WhatsAppOutlined\";\nexport { default as WifiOutlined } from \"./WifiOutlined\";\nexport { default as WindowsFilled } from \"./WindowsFilled\";\nexport { default as WindowsOutlined } from \"./WindowsOutlined\";\nexport { default as WomanOutlined } from \"./WomanOutlined\";\nexport { default as XFilled } from \"./XFilled\";\nexport { default as XOutlined } from \"./XOutlined\";\nexport { default as YahooFilled } from \"./YahooFilled\";\nexport { default as YahooOutlined } from \"./YahooOutlined\";\nexport { default as YoutubeFilled } from \"./YoutubeFilled\";\nexport { default as YoutubeOutlined } from \"./YoutubeOutlined\";\nexport { default as YuqueFilled } from \"./YuqueFilled\";\nexport { default as YuqueOutlined } from \"./YuqueOutlined\";\nexport { default as ZhihuCircleFilled } from \"./ZhihuCircleFilled\";\nexport { default as ZhihuOutlined } from \"./ZhihuOutlined\";\nexport { default as ZhihuSquareFilled } from \"./ZhihuSquareFilled\";\nexport { default as ZoomInOutlined } from \"./ZoomInOutlined\";\nexport { default as ZoomOutOutlined } from \"./ZoomOutOutlined\";","import Context from \"./components/Context\";\nexport * from \"./icons\";\nexport * from \"./components/twoTonePrimaryColor\";\nexport { default as createFromIconfontCN } from \"./components/IconFont\";\nexport { default } from \"./components/Icon\";\nexport var IconProvider = Context.Provider;","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\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\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\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\nexport default getRawTag;\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\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\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\nexport default baseGetTag;\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\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default isSymbol;\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\nexport default arrayMap;\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\nexport default isArray;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\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\nexport default baseToString;\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\nexport default isObject;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\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\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\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\nexport default isMasked;\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\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\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\nexport default 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\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\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\nexport default getNative;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","/** 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\nexport default isIndex;\n","import defineProperty from './_defineProperty.js';\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\nexport default baseAssignValue;\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\nexport default eq;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\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\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\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\nexport default copyObject;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\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\nexport default isLength;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\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\nexport default isArrayLike;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\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\nexport default isPrototype;\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\nexport default baseTimes;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default isArguments;\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\nexport default stubFalse;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\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\nexport default isBuffer;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default baseIsTypedArray;\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\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\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\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\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\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\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\nexport default arrayLikeKeys;\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\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\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\nexport default baseKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\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\nexport default 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\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\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\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\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\nexport default keysIn;\n","import copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport keysIn from './keysIn.js';\n\n/**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n});\n\nexport default assignInWith;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\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\nexport default isKey;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashClear;\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\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\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\nexport default Hash;\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\nexport default listCacheClear;\n","import eq from './eq.js';\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\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\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\nexport default ListCache;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\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\nexport default mapCacheClear;\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\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\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\nexport default getMapData;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\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\nexport default MapCache;\n","import MapCache from './_MapCache.js';\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\nexport default memoize;\n","import memoize from './memoize.js';\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\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\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\nexport default stringToPath;\n","import baseToString from './_baseToString.js';\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\nexport default toString;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\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\nexport default castPath;\n","import isSymbol from './isSymbol.js';\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\nexport default toKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\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\nexport default arrayPush;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\nimport isPlainObject from './isPlainObject.js';\n\n/** `Object#toString` result references. */\nvar domExcTag = '[object DOMException]',\n errorTag = '[object Error]';\n\n/**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\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 an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\nfunction isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n}\n\nexport default isError;\n","import apply from './_apply.js';\nimport baseRest from './_baseRest.js';\nimport isError from './isError.js';\n\n/**\n * Attempts to invoke `func`, returning either the result or the caught error\n * object. Any additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Function} func The function to attempt.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {*} Returns the `func` result or error object.\n * @example\n *\n * // Avoid throwing errors for invalid selectors.\n * var elements = _.attempt(function(selector) {\n * return document.querySelectorAll(selector);\n * }, '>_>');\n *\n * if (_.isError(elements)) {\n * elements = [];\n * }\n */\nvar attempt = baseRest(function(func, args) {\n try {\n return apply(func, undefined, args);\n } catch (e) {\n return isError(e) ? e : new Error(e);\n }\n});\n\nexport default attempt;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import ListCache from './_ListCache.js';\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\nexport default stackClear;\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\nexport default stackDelete;\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\nexport default stackGet;\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\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\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\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\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\nexport default Stack;\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\nexport default arrayFilter;\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\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\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\nexport default getSymbols;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\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\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\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\nexport default getAllKeys;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\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\nexport default getTag;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\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 cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\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\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\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\nexport default hasPath;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map characters to HTML entities. */\nvar htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\n/**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nvar escapeHtmlChar = basePropertyOf(htmlEscapes);\n\nexport default escapeHtmlChar;\n","import escapeHtmlChar from './_escapeHtmlChar.js';\nimport toString from './toString.js';\n\n/** Used to match HTML entities and HTML characters. */\nvar reUnescapedHtml = /[&<>\"']/g,\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n/**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\nfunction escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n}\n\nexport default escape;\n","/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nexport default head;\n","export { default } from './head.js'\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\nexport default baseHas;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\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\nexport default has;\n","import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nexport default baseValues;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","import eq from './eq.js';\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 by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n}\n\nexport default customDefaultsAssignIn;\n","/** Used to escape characters for inclusion in compiled string literals. */\nvar stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\n/**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\nfunction escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n}\n\nexport default escapeStringChar;\n","/** Used to match template delimiters. */\nvar reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\nexport default reInterpolate;\n","/** Used to match template delimiters. */\nvar reEscape = /<%-([\\s\\S]+?)%>/g;\n\nexport default reEscape;\n","/** Used to match template delimiters. */\nvar reEvaluate = /<%([\\s\\S]+?)%>/g;\n\nexport default reEvaluate;\n","import escape from './escape.js';\nimport reEscape from './_reEscape.js';\nimport reEvaluate from './_reEvaluate.js';\nimport reInterpolate from './_reInterpolate.js';\n\n/**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\nvar templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': { 'escape': escape }\n }\n};\n\nexport default templateSettings;\n","import assignInWith from './assignInWith.js';\nimport attempt from './attempt.js';\nimport baseValues from './_baseValues.js';\nimport customDefaultsAssignIn from './_customDefaultsAssignIn.js';\nimport escapeStringChar from './_escapeStringChar.js';\nimport isError from './isError.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport keys from './keys.js';\nimport reInterpolate from './_reInterpolate.js';\nimport templateSettings from './templateSettings.js';\nimport toString from './toString.js';\n\n/** Error message constants. */\nvar INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n/** Used to match empty string literals in compiled template source. */\nvar reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n/**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\nvar reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n/**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\nvar reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n/** Used to ensure capturing order of template delimiters. */\nvar reNoMatch = /($^)/;\n\n/** Used to match unescaped characters in compiled string literals. */\nvar reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\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 a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<b><%- value %></b>');\n * compiled({ 'value': '<script>' });\n * // => '<b><script></b>'\n *\n * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the internal `print` function in \"evaluate\" delimiters.\n * var compiled = _.template('<% print(\"hello \" + user); %>!');\n * compiled({ 'user': 'barney' });\n * // => 'hello barney!'\n *\n * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n * // Disable support by replacing the \"interpolate\" delimiter.\n * var compiled = _.template('hello ${ user }!');\n * compiled({ 'user': 'pebbles' });\n * // => 'hello pebbles!'\n *\n * // Use backslashes to treat delimiters as plain text.\n * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n * compiled({ 'value': 'ignored' });\n * // => '<%- value %>'\n *\n * // Use the `imports` option to import `jQuery` as `jq`.\n * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n * compiled({ 'users': ['fred', 'barney'] });\n * // => '<li>fred</li><li>barney</li>'\n *\n * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n * compiled(data);\n * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n *\n * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n * compiled.source;\n * // => function(data) {\n * // var __t, __p = '';\n * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n * // return __p;\n * // }\n *\n * // Use custom template delimiters.\n * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n * var compiled = _.template('hello {{ user }}!');\n * compiled({ 'user': 'mustache' });\n * // => 'hello mustache!'\n *\n * // Use the `source` property to inline compiled templates for meaningful\n * // line numbers in error messages and stack traces.\n * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n * var JST = {\\\n * \"main\": ' + _.template(mainText).source + '\\\n * };\\\n * ');\n */\nfunction template(string, options, guard) {\n // Based on John Resig's `tmpl` implementation\n // (http://ejohn.org/blog/javascript-micro-templating/)\n // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n var settings = templateSettings.imports._.templateSettings || templateSettings;\n\n if (guard && isIterateeCall(string, options, guard)) {\n options = undefined;\n }\n string = toString(string);\n options = assignInWith({}, options, settings, customDefaultsAssignIn);\n\n var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n importsKeys = keys(imports),\n importsValues = baseValues(imports, importsKeys);\n\n var isEscaping,\n isEvaluating,\n index = 0,\n interpolate = options.interpolate || reNoMatch,\n source = \"__p += '\";\n\n // Compile the regexp to match each delimiter.\n var reDelimiters = RegExp(\n (options.escape || reNoMatch).source + '|' +\n interpolate.source + '|' +\n (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n (options.evaluate || reNoMatch).source + '|$'\n , 'g');\n\n // Use a sourceURL for easier debugging.\n // The sourceURL gets injected into the source that's eval-ed, so be careful\n // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in\n // and escape the comment, thus injecting code that gets evaled.\n var sourceURL = hasOwnProperty.call(options, 'sourceURL')\n ? ('//# sourceURL=' +\n (options.sourceURL + '').replace(/\\s/g, ' ') +\n '\\n')\n : '';\n\n string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n interpolateValue || (interpolateValue = esTemplateValue);\n\n // Escape characters that can't be included in string literals.\n source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n\n // Replace delimiters with snippets.\n if (escapeValue) {\n isEscaping = true;\n source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n }\n if (evaluateValue) {\n isEvaluating = true;\n source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n }\n if (interpolateValue) {\n source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n }\n index = offset + match.length;\n\n // The JS engine embedded in Adobe products needs `match` returned in\n // order to produce the correct `offset` value.\n return match;\n });\n\n source += \"';\\n\";\n\n // If `variable` is not specified wrap a with-statement around the generated\n // code to add the data object to the top of the scope chain.\n var variable = hasOwnProperty.call(options, 'variable') && options.variable;\n if (!variable) {\n source = 'with (obj) {\\n' + source + '\\n}\\n';\n }\n // Throw an error if a forbidden character was found in `variable`, to prevent\n // potential command injection attacks.\n else if (reForbiddenIdentifierChars.test(variable)) {\n throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);\n }\n\n // Cleanup code by stripping empty strings.\n source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n .replace(reEmptyStringMiddle, '$1')\n .replace(reEmptyStringTrailing, '$1;');\n\n // Frame code as the function body.\n source = 'function(' + (variable || 'obj') + ') {\\n' +\n (variable\n ? ''\n : 'obj || (obj = {});\\n'\n ) +\n \"var __t, __p = ''\" +\n (isEscaping\n ? ', __e = _.escape'\n : ''\n ) +\n (isEvaluating\n ? ', __j = Array.prototype.join;\\n' +\n \"function print() { __p += __j.call(arguments, '') }\\n\"\n : ';\\n'\n ) +\n source +\n 'return __p\\n}';\n\n var result = attempt(function() {\n return Function(importsKeys, sourceURL + 'return ' + source)\n .apply(undefined, importsValues);\n });\n\n // Provide the compiled function's source by its `toString` method or\n // the `source` property as a convenience for inlining compiled templates.\n result.source = source;\n if (isError(result)) {\n throw result;\n }\n return result;\n}\n\nexport default template;\n","/**\n * @license\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\nexport { default as add } from './add.js';\nexport { default as after } from './after.js';\nexport { default as ary } from './ary.js';\nexport { default as assign } from './assign.js';\nexport { default as assignIn } from './assignIn.js';\nexport { default as assignInWith } from './assignInWith.js';\nexport { default as assignWith } from './assignWith.js';\nexport { default as at } from './at.js';\nexport { default as attempt } from './attempt.js';\nexport { default as before } from './before.js';\nexport { default as bind } from './bind.js';\nexport { default as bindAll } from './bindAll.js';\nexport { default as bindKey } from './bindKey.js';\nexport { default as camelCase } from './camelCase.js';\nexport { default as capitalize } from './capitalize.js';\nexport { default as castArray } from './castArray.js';\nexport { default as ceil } from './ceil.js';\nexport { default as chain } from './chain.js';\nexport { default as chunk } from './chunk.js';\nexport { default as clamp } from './clamp.js';\nexport { default as clone } from './clone.js';\nexport { default as cloneDeep } from './cloneDeep.js';\nexport { default as cloneDeepWith } from './cloneDeepWith.js';\nexport { default as cloneWith } from './cloneWith.js';\nexport { default as commit } from './commit.js';\nexport { default as compact } from './compact.js';\nexport { default as concat } from './concat.js';\nexport { default as cond } from './cond.js';\nexport { default as conforms } from './conforms.js';\nexport { default as conformsTo } from './conformsTo.js';\nexport { default as constant } from './constant.js';\nexport { default as countBy } from './countBy.js';\nexport { default as create } from './create.js';\nexport { default as curry } from './curry.js';\nexport { default as curryRight } from './curryRight.js';\nexport { default as debounce } from './debounce.js';\nexport { default as deburr } from './deburr.js';\nexport { default as defaultTo } from './defaultTo.js';\nexport { default as defaults } from './defaults.js';\nexport { default as defaultsDeep } from './defaultsDeep.js';\nexport { default as defer } from './defer.js';\nexport { default as delay } from './delay.js';\nexport { default as difference } from './difference.js';\nexport { default as differenceBy } from './differenceBy.js';\nexport { default as differenceWith } from './differenceWith.js';\nexport { default as divide } from './divide.js';\nexport { default as drop } from './drop.js';\nexport { default as dropRight } from './dropRight.js';\nexport { default as dropRightWhile } from './dropRightWhile.js';\nexport { default as dropWhile } from './dropWhile.js';\nexport { default as each } from './each.js';\nexport { default as eachRight } from './eachRight.js';\nexport { default as endsWith } from './endsWith.js';\nexport { default as entries } from './entries.js';\nexport { default as entriesIn } from './entriesIn.js';\nexport { default as eq } from './eq.js';\nexport { default as escape } from './escape.js';\nexport { default as escapeRegExp } from './escapeRegExp.js';\nexport { default as every } from './every.js';\nexport { default as extend } from './extend.js';\nexport { default as extendWith } from './extendWith.js';\nexport { default as fill } from './fill.js';\nexport { default as filter } from './filter.js';\nexport { default as find } from './find.js';\nexport { default as findIndex } from './findIndex.js';\nexport { default as findKey } from './findKey.js';\nexport { default as findLast } from './findLast.js';\nexport { default as findLastIndex } from './findLastIndex.js';\nexport { default as findLastKey } from './findLastKey.js';\nexport { default as first } from './first.js';\nexport { default as flatMap } from './flatMap.js';\nexport { default as flatMapDeep } from './flatMapDeep.js';\nexport { default as flatMapDepth } from './flatMapDepth.js';\nexport { default as flatten } from './flatten.js';\nexport { default as flattenDeep } from './flattenDeep.js';\nexport { default as flattenDepth } from './flattenDepth.js';\nexport { default as flip } from './flip.js';\nexport { default as floor } from './floor.js';\nexport { default as flow } from './flow.js';\nexport { default as flowRight } from './flowRight.js';\nexport { default as forEach } from './forEach.js';\nexport { default as forEachRight } from './forEachRight.js';\nexport { default as forIn } from './forIn.js';\nexport { default as forInRight } from './forInRight.js';\nexport { default as forOwn } from './forOwn.js';\nexport { default as forOwnRight } from './forOwnRight.js';\nexport { default as fromPairs } from './fromPairs.js';\nexport { default as functions } from './functions.js';\nexport { default as functionsIn } from './functionsIn.js';\nexport { default as get } from './get.js';\nexport { default as groupBy } from './groupBy.js';\nexport { default as gt } from './gt.js';\nexport { default as gte } from './gte.js';\nexport { default as has } from './has.js';\nexport { default as hasIn } from './hasIn.js';\nexport { default as head } from './head.js';\nexport { default as identity } from './identity.js';\nexport { default as inRange } from './inRange.js';\nexport { default as includes } from './includes.js';\nexport { default as indexOf } from './indexOf.js';\nexport { default as initial } from './initial.js';\nexport { default as intersection } from './intersection.js';\nexport { default as intersectionBy } from './intersectionBy.js';\nexport { default as intersectionWith } from './intersectionWith.js';\nexport { default as invert } from './invert.js';\nexport { default as invertBy } from './invertBy.js';\nexport { default as invoke } from './invoke.js';\nexport { default as invokeMap } from './invokeMap.js';\nexport { default as isArguments } from './isArguments.js';\nexport { default as isArray } from './isArray.js';\nexport { default as isArrayBuffer } from './isArrayBuffer.js';\nexport { default as isArrayLike } from './isArrayLike.js';\nexport { default as isArrayLikeObject } from './isArrayLikeObject.js';\nexport { default as isBoolean } from './isBoolean.js';\nexport { default as isBuffer } from './isBuffer.js';\nexport { default as isDate } from './isDate.js';\nexport { default as isElement } from './isElement.js';\nexport { default as isEmpty } from './isEmpty.js';\nexport { default as isEqual } from './isEqual.js';\nexport { default as isEqualWith } from './isEqualWith.js';\nexport { default as isError } from './isError.js';\nexport { default as isFinite } from './isFinite.js';\nexport { default as isFunction } from './isFunction.js';\nexport { default as isInteger } from './isInteger.js';\nexport { default as isLength } from './isLength.js';\nexport { default as isMap } from './isMap.js';\nexport { default as isMatch } from './isMatch.js';\nexport { default as isMatchWith } from './isMatchWith.js';\nexport { default as isNaN } from './isNaN.js';\nexport { default as isNative } from './isNative.js';\nexport { default as isNil } from './isNil.js';\nexport { default as isNull } from './isNull.js';\nexport { default as isNumber } from './isNumber.js';\nexport { default as isObject } from './isObject.js';\nexport { default as isObjectLike } from './isObjectLike.js';\nexport { default as isPlainObject } from './isPlainObject.js';\nexport { default as isRegExp } from './isRegExp.js';\nexport { default as isSafeInteger } from './isSafeInteger.js';\nexport { default as isSet } from './isSet.js';\nexport { default as isString } from './isString.js';\nexport { default as isSymbol } from './isSymbol.js';\nexport { default as isTypedArray } from './isTypedArray.js';\nexport { default as isUndefined } from './isUndefined.js';\nexport { default as isWeakMap } from './isWeakMap.js';\nexport { default as isWeakSet } from './isWeakSet.js';\nexport { default as iteratee } from './iteratee.js';\nexport { default as join } from './join.js';\nexport { default as kebabCase } from './kebabCase.js';\nexport { default as keyBy } from './keyBy.js';\nexport { default as keys } from './keys.js';\nexport { default as keysIn } from './keysIn.js';\nexport { default as last } from './last.js';\nexport { default as lastIndexOf } from './lastIndexOf.js';\nexport { default as lodash } from './wrapperLodash.js';\nexport { default as lowerCase } from './lowerCase.js';\nexport { default as lowerFirst } from './lowerFirst.js';\nexport { default as lt } from './lt.js';\nexport { default as lte } from './lte.js';\nexport { default as map } from './map.js';\nexport { default as mapKeys } from './mapKeys.js';\nexport { default as mapValues } from './mapValues.js';\nexport { default as matches } from './matches.js';\nexport { default as matchesProperty } from './matchesProperty.js';\nexport { default as max } from './max.js';\nexport { default as maxBy } from './maxBy.js';\nexport { default as mean } from './mean.js';\nexport { default as meanBy } from './meanBy.js';\nexport { default as memoize } from './memoize.js';\nexport { default as merge } from './merge.js';\nexport { default as mergeWith } from './mergeWith.js';\nexport { default as method } from './method.js';\nexport { default as methodOf } from './methodOf.js';\nexport { default as min } from './min.js';\nexport { default as minBy } from './minBy.js';\nexport { default as mixin } from './mixin.js';\nexport { default as multiply } from './multiply.js';\nexport { default as negate } from './negate.js';\nexport { default as next } from './next.js';\nexport { default as noop } from './noop.js';\nexport { default as now } from './now.js';\nexport { default as nth } from './nth.js';\nexport { default as nthArg } from './nthArg.js';\nexport { default as omit } from './omit.js';\nexport { default as omitBy } from './omitBy.js';\nexport { default as once } from './once.js';\nexport { default as orderBy } from './orderBy.js';\nexport { default as over } from './over.js';\nexport { default as overArgs } from './overArgs.js';\nexport { default as overEvery } from './overEvery.js';\nexport { default as overSome } from './overSome.js';\nexport { default as pad } from './pad.js';\nexport { default as padEnd } from './padEnd.js';\nexport { default as padStart } from './padStart.js';\nexport { default as parseInt } from './parseInt.js';\nexport { default as partial } from './partial.js';\nexport { default as partialRight } from './partialRight.js';\nexport { default as partition } from './partition.js';\nexport { default as pick } from './pick.js';\nexport { default as pickBy } from './pickBy.js';\nexport { default as plant } from './plant.js';\nexport { default as property } from './property.js';\nexport { default as propertyOf } from './propertyOf.js';\nexport { default as pull } from './pull.js';\nexport { default as pullAll } from './pullAll.js';\nexport { default as pullAllBy } from './pullAllBy.js';\nexport { default as pullAllWith } from './pullAllWith.js';\nexport { default as pullAt } from './pullAt.js';\nexport { default as random } from './random.js';\nexport { default as range } from './range.js';\nexport { default as rangeRight } from './rangeRight.js';\nexport { default as rearg } from './rearg.js';\nexport { default as reduce } from './reduce.js';\nexport { default as reduceRight } from './reduceRight.js';\nexport { default as reject } from './reject.js';\nexport { default as remove } from './remove.js';\nexport { default as repeat } from './repeat.js';\nexport { default as replace } from './replace.js';\nexport { default as rest } from './rest.js';\nexport { default as result } from './result.js';\nexport { default as reverse } from './reverse.js';\nexport { default as round } from './round.js';\nexport { default as sample } from './sample.js';\nexport { default as sampleSize } from './sampleSize.js';\nexport { default as set } from './set.js';\nexport { default as setWith } from './setWith.js';\nexport { default as shuffle } from './shuffle.js';\nexport { default as size } from './size.js';\nexport { default as slice } from './slice.js';\nexport { default as snakeCase } from './snakeCase.js';\nexport { default as some } from './some.js';\nexport { default as sortBy } from './sortBy.js';\nexport { default as sortedIndex } from './sortedIndex.js';\nexport { default as sortedIndexBy } from './sortedIndexBy.js';\nexport { default as sortedIndexOf } from './sortedIndexOf.js';\nexport { default as sortedLastIndex } from './sortedLastIndex.js';\nexport { default as sortedLastIndexBy } from './sortedLastIndexBy.js';\nexport { default as sortedLastIndexOf } from './sortedLastIndexOf.js';\nexport { default as sortedUniq } from './sortedUniq.js';\nexport { default as sortedUniqBy } from './sortedUniqBy.js';\nexport { default as split } from './split.js';\nexport { default as spread } from './spread.js';\nexport { default as startCase } from './startCase.js';\nexport { default as startsWith } from './startsWith.js';\nexport { default as stubArray } from './stubArray.js';\nexport { default as stubFalse } from './stubFalse.js';\nexport { default as stubObject } from './stubObject.js';\nexport { default as stubString } from './stubString.js';\nexport { default as stubTrue } from './stubTrue.js';\nexport { default as subtract } from './subtract.js';\nexport { default as sum } from './sum.js';\nexport { default as sumBy } from './sumBy.js';\nexport { default as tail } from './tail.js';\nexport { default as take } from './take.js';\nexport { default as takeRight } from './takeRight.js';\nexport { default as takeRightWhile } from './takeRightWhile.js';\nexport { default as takeWhile } from './takeWhile.js';\nexport { default as tap } from './tap.js';\nexport { default as template } from './template.js';\nexport { default as templateSettings } from './templateSettings.js';\nexport { default as throttle } from './throttle.js';\nexport { default as thru } from './thru.js';\nexport { default as times } from './times.js';\nexport { default as toArray } from './toArray.js';\nexport { default as toFinite } from './toFinite.js';\nexport { default as toInteger } from './toInteger.js';\nexport { default as toIterator } from './toIterator.js';\nexport { default as toJSON } from './toJSON.js';\nexport { default as toLength } from './toLength.js';\nexport { default as toLower } from './toLower.js';\nexport { default as toNumber } from './toNumber.js';\nexport { default as toPairs } from './toPairs.js';\nexport { default as toPairsIn } from './toPairsIn.js';\nexport { default as toPath } from './toPath.js';\nexport { default as toPlainObject } from './toPlainObject.js';\nexport { default as toSafeInteger } from './toSafeInteger.js';\nexport { default as toString } from './toString.js';\nexport { default as toUpper } from './toUpper.js';\nexport { default as transform } from './transform.js';\nexport { default as trim } from './trim.js';\nexport { default as trimEnd } from './trimEnd.js';\nexport { default as trimStart } from './trimStart.js';\nexport { default as truncate } from './truncate.js';\nexport { default as unary } from './unary.js';\nexport { default as unescape } from './unescape.js';\nexport { default as union } from './union.js';\nexport { default as unionBy } from './unionBy.js';\nexport { default as unionWith } from './unionWith.js';\nexport { default as uniq } from './uniq.js';\nexport { default as uniqBy } from './uniqBy.js';\nexport { default as uniqWith } from './uniqWith.js';\nexport { default as uniqueId } from './uniqueId.js';\nexport { default as unset } from './unset.js';\nexport { default as unzip } from './unzip.js';\nexport { default as unzipWith } from './unzipWith.js';\nexport { default as update } from './update.js';\nexport { default as updateWith } from './updateWith.js';\nexport { default as upperCase } from './upperCase.js';\nexport { default as upperFirst } from './upperFirst.js';\nexport { default as value } from './value.js';\nexport { default as valueOf } from './valueOf.js';\nexport { default as values } from './values.js';\nexport { default as valuesIn } from './valuesIn.js';\nexport { default as without } from './without.js';\nexport { default as words } from './words.js';\nexport { default as wrap } from './wrap.js';\nexport { default as wrapperAt } from './wrapperAt.js';\nexport { default as wrapperChain } from './wrapperChain.js';\nexport { default as wrapperCommit } from './commit.js';\nexport { default as wrapperLodash } from './wrapperLodash.js';\nexport { default as wrapperNext } from './next.js';\nexport { default as wrapperPlant } from './plant.js';\nexport { default as wrapperReverse } from './wrapperReverse.js';\nexport { default as wrapperToIterator } from './toIterator.js';\nexport { default as wrapperValue } from './wrapperValue.js';\nexport { default as xor } from './xor.js';\nexport { default as xorBy } from './xorBy.js';\nexport { default as xorWith } from './xorWith.js';\nexport { default as zip } from './zip.js';\nexport { default as zipObject } from './zipObject.js';\nexport { default as zipObjectDeep } from './zipObjectDeep.js';\nexport { default as zipWith } from './zipWith.js';\nexport { default } from './lodash.default.js';\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: 'No permission, please contact the administrator.',\n name: 'Name',\n creationTime: 'Creation Time',\n operation: 'Operation',\n update: 'Update',\n edit: 'Edit',\n delete: 'Delete',\n selectAll: 'Select All',\n game: 'Game',\n user: 'User',\n role: 'Role',\n username: 'Username',\n password: 'Password',\n label: 'Label',\n method: 'Method',\n route: 'Route',\n request: 'Request',\n response: 'Response',\n add: 'Add',\n signIn: 'Sign In',\n projectGroup: 'Project Group',\n view: 'View',\n },\n SignIn: {\n title: 'Sign In Method',\n thirdParty: 'Third party sign in',\n signInWithIDass: 'Sign in with IDass',\n unregistered: 'You are not yet registered on the platform, please contact the administrator',\n welcome: 'Welcome',\n },\n NotFound: {\n subTitle: 'The page you visited does not exist',\n buttonText: 'Return to homepage',\n },\n FilterFormWrapper: {\n confirmText: 'Search',\n resetText: 'Reset',\n },\n FormModal: {\n confirmText: 'Confirm',\n cancelText: 'Cancel',\n },\n GameSelect: {\n label: 'Current Game',\n placeholder: 'Please select a game',\n },\n RequireGame: {\n description: 'Please select a game',\n },\n UserWidget: {\n signOutText: 'Sign Out',\n },\n User: {\n createTitle: 'Create User',\n createSuccessfully: 'User created successfully',\n updateTitle: 'Update User',\n updateSuccessfully: 'User updated successfully',\n deleteTitle: 'Delete User',\n deleteContent: 'Are you sure you want to delete user <%= user %>?',\n deleteSuccessfully: 'User deleted successfully',\n },\n Role: {\n createTitle: 'Create Role',\n createSuccessfully: 'Role created successfully',\n updateTitle: 'Update Role',\n updateSuccessfully: 'Role updated successfully',\n deleteTitle: 'Delete Role',\n deleteContent: 'Are you sure you want to delete role <%= role %>?',\n deleteSuccessfully: 'Role deleted successfully',\n },\n PermissionList: {\n failedDescription: 'Failed to get permission list',\n baseSectionTitle: 'Platform Basic Permissions',\n gameSectionTitle: 'Game Permissions',\n gameSectionDescription: 'Please select a game first',\n gameSelectPlaceholder: 'Please select a game first',\n removeText: 'Remove',\n addText: 'Add Game Permissions',\n },\n RoleDetail: {\n title: 'Role Details',\n },\n InfiniteList: {\n loadingText: 'Loading...',\n reachEndText: \"You've reached the end\",\n loadMoreText: 'Load more',\n },\n}\n\nexport default locale\n","export const SSO_URL = 'https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1'\n\nexport const APP_ID_HEADER = 'App-ID'\n\nexport const FRONTEND_ROUTE_PREFIX = '/console/'\n\nexport enum PermissionVersion {\n V1 = 'v1',\n V2 = 'v2',\n V3 = 'v3',\n}\n\nexport const WILDCARD = '*'\n","// import type { AxiosInterceptorManager, AxiosResponse, InternalAxiosRequestConfig } from 'axios'\nimport type { StateCreator } from 'zustand'\n\nimport type { Locale } from '@/components/locale'\nimport enGb from '@/components/locale/en_GB'\nimport { PermissionVersion } from '@/constants'\n\nexport interface ContextSlice {\n locale: Locale\n permissionVersion: PermissionVersion // 权限版本\n gameApiV2: boolean\n signInPath: string // 登录页前端路由地址\n isGlobal: boolean // 为 true 时,APP-ID header 为 ‘global’,否则为当前的游戏的 id。\n // 页面标题\n title: {\n text?: string\n fontSize?: number\n }\n navWidth?: number // 侧边栏宽度\n collapsed?: boolean\n collapsible?: boolean // 菜单是否可折叠\n mainPagePath: string // 首页地址\n setContext(state: Partial<Omit<ContextSlice, 'setContext'>>): void\n}\n\nexport const createContextSlice: StateCreator<ContextSlice, [], [], ContextSlice> = set => ({\n locale: enGb,\n gameApiV2: false,\n isGlobal: false,\n signInPath: '/sign_in',\n mainPagePath: '/',\n title: {\n fontSize: 18,\n },\n permissionVersion: PermissionVersion.V1,\n setContext(state) {\n set(prev => ({ ...prev, ...state }))\n },\n})\n","import type { StateCreator } from 'zustand'\n\nexport interface GameSlice {\n gameId?: string | number\n setGameId: (id?: string | number) => void\n}\n\nexport const createGameSlice: StateCreator<GameSlice, [], [], GameSlice> = set => ({\n setGameId: id => {\n set({ gameId: id })\n },\n})\n","import type { StateCreator } from 'zustand'\n\nexport interface SignInSlice {\n unregistered: boolean // 是否是未注册用户\n setUnregistered: () => void\n}\n\nexport const createSignInSlice: StateCreator<SignInSlice, [], [], SignInSlice> = set => ({\n unregistered: false,\n setUnregistered() {\n set({ unregistered: true })\n },\n})\n","export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","import { jwtDecode } from 'jwt-decode'\nimport type { StateCreator } from 'zustand'\n\ninterface UserInfo {\n authorityId: string\n exp: number\n}\n\nexport interface TokenSlice {\n token?: string\n getUser: () => UserInfo | null\n setToken: (token: string) => void\n}\n\nexport const createTokenSlice: StateCreator<TokenSlice, [], []> = (set, get) => ({\n getUser: () => {\n const token = get().token\n if (token) {\n try {\n return jwtDecode(token)\n } catch {\n return null\n }\n }\n return null\n },\n setToken: token => set({ token }),\n})\n","import { createStore } from 'zustand'\nimport { createJSONStorage, persist } from 'zustand/middleware'\n\nimport { mixedStorage } from '@/utils'\n\nimport { type ContextSlice, createContextSlice } from './context'\nimport type { GameSlice } from './game'\nimport { createGameSlice } from './game'\nimport { createSignInSlice, type SignInSlice } from './signIn'\nimport type { TokenSlice } from './token'\nimport { createTokenSlice } from './token'\n\nexport type ToolkitsState = TokenSlice &\n GameSlice &\n SignInSlice &\n ContextSlice & {\n clearToken: () => void\n }\n\nexport const createToolkitsStore = (initProps?: Partial<ContextSlice>) => {\n return createStore<ToolkitsState>()(\n persist(\n (...args) => {\n const [, get, store] = args\n\n const clearToken = () => {\n get().setToken('')\n store.persist.clearStorage()\n }\n\n return {\n ...createTokenSlice(...args),\n ...createGameSlice(...args),\n ...createSignInSlice(...args),\n ...createContextSlice(...args),\n clearToken,\n ...initProps,\n }\n },\n {\n name: 'toolkits',\n storage: createJSONStorage(() => mixedStorage),\n partialize: state => ({\n token: state.token,\n gameId: state.gameId,\n collapsed: state.collapsed,\n }),\n },\n ),\n )\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { App } from 'antd'\nimport type { ComponentType, FC, PropsWithChildren } from 'react'\nimport { createContext, useContext, useRef } from 'react'\nimport { useStore } from 'zustand'\n\nimport type { ToolkitsState } from '@/stores'\nimport { createToolkitsStore } from '@/stores'\nimport type { ContextSlice } from '@/stores/context'\n\ntype ToolkitsStore = ReturnType<typeof createToolkitsStore>\n\nconst ToolkitsContext = createContext<ToolkitsStore | null>(null)\n\n// 重载函数签名:支持有 selector 和无 selector 两种调用方式\nexport function useToolkitsStore(): ToolkitsState\nexport function useToolkitsStore<T>(selector: (state: ToolkitsState) => T): T\nexport function useToolkitsStore<T>(selector?: (state: ToolkitsState) => T): T | ToolkitsState {\n const store = useContext(ToolkitsContext)\n if (!store) throw new Error('Missing ToolkitsProvider in the tree')\n\n // 总是调用 useStore,根据是否有 selector 决定使用什么选择器\n return useStore(store, selector || ((state: ToolkitsState) => state as T))\n}\n\nexport type ToolkitsProviderProps = PropsWithChildren<Partial<Omit<ContextSlice, 'setContext'>>>\n\nconst ToolkitsProvider: FC<ToolkitsProviderProps> = props => {\n const { children, ...restProps } = props\n const storeRef = useRef<ToolkitsStore>()\n const parentState = useContext(ToolkitsContext)?.getState()\n\n if (!storeRef.current) {\n storeRef.current = createToolkitsStore({ ...parentState, ...restProps })\n }\n\n if (!storeRef.current.getState().signInPath) {\n throw new Error('ToolkitsProvider: 请配置 \"signInPath\"')\n }\n\n return (\n <ToolkitsContext.Provider value={storeRef.current}>\n <App>{children}</App>\n </ToolkitsContext.Provider>\n )\n}\n\nexport const withContext = (Component: ComponentType, providerProps: Omit<ToolkitsProviderProps, 'children'>) => {\n const WrappedComponent = (props: any) => {\n return (\n <ToolkitsProvider {...providerProps}>\n <Component {...props} />\n </ToolkitsProvider>\n )\n }\n\n WrappedComponent.displayName = `withContext(${Component.displayName || Component.name || 'Component'})`\n\n return WrappedComponent\n}\n\nif (process.env.NODE_ENV !== 'production') {\n ToolkitsProvider.displayName = 'ToolkitsProvider'\n}\n\nexport default ToolkitsProvider\n","export type { ToolkitsProviderProps } from './ToolkitsProvider'\nexport { default as ToolkitsProvider, useToolkitsStore, withContext } from './ToolkitsProvider'\n","import { get, has, template } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport type { Locale } from './index'\n\ntype Join<K, P> = K extends string | number\n ? P extends string | number\n ? `${K}${'' extends P ? '' : '.'}${P}`\n : never\n : never\n\ntype Paths<T, D extends number = 10> = [D] extends [never]\n ? never\n : T extends object\n ? {\n [K in keyof T]-?: K extends string | number ? `${K}` | Join<K, Paths<T[K]>> : never\n }[keyof T]\n : ''\n\nexport function useTranslation() {\n const locale = useToolkitsStore(state => state.locale)\n\n const t = useMemo(\n () => (key: Paths<Locale>, data?: Record<string, unknown>) =>\n has(locale, key) ? template(get(locale, key as string))(data) : key,\n [locale],\n )\n\n return { t }\n}\n","export type Locale = {\n global: {\n noEntitlement: string\n name: string\n creationTime: string\n operation: string\n update: string\n edit: string\n delete: string\n selectAll: string\n game: string\n user: string\n role: string\n username: string\n password: string\n label: string\n method: string\n route: string\n request: string\n response: string\n add: string\n signIn: string\n projectGroup: string\n view: string\n }\n SignIn: {\n title: string\n thirdParty: string\n signInWithIDass: string\n unregistered: string\n welcome: string\n }\n NotFound: {\n subTitle: string\n buttonText: string\n }\n FilterFormWrapper: {\n confirmText: string\n resetText: string\n }\n FormModal: {\n confirmText: string\n cancelText: string\n }\n GameSelect: {\n label: string\n placeholder: string\n }\n RequireGame: {\n description: string\n }\n UserWidget: {\n signOutText: string\n }\n User: {\n createTitle: string\n createSuccessfully: string\n updateTitle: string\n updateSuccessfully: string\n deleteTitle: string\n deleteContent: string\n deleteSuccessfully: string\n }\n Role: {\n createTitle: string\n createSuccessfully: string\n updateTitle: string\n updateSuccessfully: string\n deleteTitle: string\n deleteContent: string\n deleteSuccessfully: string\n }\n PermissionList: {\n failedDescription: string\n baseSectionTitle: string\n gameSectionTitle: string\n gameSectionDescription: string\n gameSelectPlaceholder: string\n removeText: string\n addText: string\n }\n RoleDetail: {\n title: string\n }\n InfiniteList: {\n loadingText: string\n reachEndText: string\n loadMoreText: string\n }\n}\n\nexport { useTranslation } from './hooks'\n","import { Button, Space, theme } from 'antd'\nimport type { Key, PropsWithChildren, ReactNode } from 'react'\nimport { Fragment } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nexport interface FilterFormWrapperProps extends PropsWithChildren {\n onConfirm?: () => void | Promise<void>\n onReset?: () => void\n extras?: { key: Key; children: ReactNode }[]\n isConfirming?: boolean\n buttonsAlign?: 'left' | 'right' | 'bottom'\n showReset?: boolean\n}\n\nconst FilterFormWrapper = (props: FilterFormWrapperProps) => {\n const { extras, isConfirming, onConfirm, onReset, children, buttonsAlign = 'left', showReset } = props\n const { t } = useTranslation()\n const {\n token: { colorFillAlter, lineWidth, lineType, colorBorder, borderRadiusLG },\n } = theme.useToken()\n\n const style = {\n maxWidth: 'none',\n background: colorFillAlter,\n borderWidth: lineWidth,\n borderStyle: lineType,\n borderColor: colorBorder,\n borderRadius: borderRadiusLG,\n padding: 24,\n marginBottom: 24,\n }\n\n return (\n <div style={style}>\n <div className={`flex ${buttonsAlign === 'bottom' ? 'flex-col' : 'flex-row'}`}>\n <div className={`${buttonsAlign === 'left' ? 'flex-grow-0' : 'flex-1'}`}>{children}</div>\n <div className={`${buttonsAlign === 'bottom' ? 'text-end' : 'text-start'} ml-4`}>\n <Space>\n <Button type=\"primary\" loading={isConfirming} onClick={onConfirm}>\n {t('FilterFormWrapper.confirmText')}\n </Button>\n {extras?.map(item => <Fragment key={item.key}>{item.children}</Fragment>)}\n {showReset && <Button onClick={onReset}>{t('FilterFormWrapper.resetText')}</Button>}\n </Space>\n </div>\n </div>\n </div>\n )\n}\n\nexport default FilterFormWrapper\n","export type { FilterFormWrapperProps } from './FilterFormWrapper'\nexport { default as FilterFormWrapper } from './FilterFormWrapper'\n","import type { PropsWithChildren, ReactNode } from 'react'\nimport { useEffect, useState } from 'react'\nimport { flushSync } from 'react-dom'\nimport { createRoot } from 'react-dom/client'\n\nconst splitByTags = (str: string) => {\n const regex = /(<[^>]*>)/\n return str.split(regex).filter(part => part !== '')\n}\n\nfunction renderToString(node: ReactNode): Promise<string> {\n const container = document.createElement('div')\n const root = createRoot(container)\n\n return new Promise(resolve => {\n setTimeout(() => {\n flushSync(() => {\n root.render(node)\n })\n resolve(container.innerHTML)\n })\n })\n}\n\nexport interface HighlightProps extends PropsWithChildren {\n texts: Array<string | number>\n}\n\nconst Highlight = (props: HighlightProps) => {\n const { texts, children } = props\n const [htmlString, setHtmlString] = useState<string>('')\n\n useEffect(() => {\n renderToString(children).then(str => {\n const result = splitByTags(str)\n\n for (const text of texts) {\n for (let index = 0; index < result.length; index++) {\n // TODO: 忽略 HTML tag\n result[index] = result[index].replace(String(text), `<span style='color: #DC143C;'>${text}</span>`)\n }\n }\n\n setHtmlString(result.join(''))\n })\n }, [children, texts])\n\n return <div dangerouslySetInnerHTML={{ __html: htmlString }}></div>\n}\n\nexport default Highlight\n","export type { HighlightProps } from './Highlight'\nexport { default as Highlight } from './Highlight'\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import React, { useEffect, useLayoutEffect, createContext, useContext, useMemo, useRef, createElement } from 'react';\n\n// Shared state between server components and client components\nconst noop = ()=>{};\n// Using noop() as the undefined value as undefined can be replaced\n// by something else. Prettier ignore and extra parentheses are necessary here\n// to ensure that tsc doesn't remove the __NOINLINE__ comment.\n// prettier-ignore\nconst UNDEFINED = /*#__NOINLINE__*/ noop();\nconst OBJECT = Object;\nconst isUndefined = (v)=>v === UNDEFINED;\nconst isFunction = (v)=>typeof v == 'function';\nconst mergeObjects = (a, b)=>({\n ...a,\n ...b\n });\nconst isPromiseLike = (x)=>isFunction(x.then);\n\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nconst table = new WeakMap();\n// counter of the key\nlet counter = 0;\n// A stable hash implementation that supports:\n// - Fast and ensures unique hash properties\n// - Handles unserializable values\n// - Handles object key ordering\n// - Generates short results\n//\n// This is not a serialization function, and the result is not guaranteed to be\n// parsable.\nconst stableHash = (arg)=>{\n const type = typeof arg;\n const constructor = arg && arg.constructor;\n const isDate = constructor == Date;\n let result;\n let index;\n if (OBJECT(arg) === arg && !isDate && constructor != RegExp) {\n // Object/function, not null/date/regexp. Use WeakMap to store the id first.\n // If it's already hashed, directly return the result.\n result = table.get(arg);\n if (result) return result;\n // Store the hash first for circular reference detection before entering the\n // recursive `stableHash` calls.\n // For other objects like set and map, we use this id directly as the hash.\n result = ++counter + '~';\n table.set(arg, result);\n if (constructor == Array) {\n // Array.\n result = '@';\n for(index = 0; index < arg.length; index++){\n result += stableHash(arg[index]) + ',';\n }\n table.set(arg, result);\n }\n if (constructor == OBJECT) {\n // Object, sort keys.\n result = '#';\n const keys = OBJECT.keys(arg).sort();\n while(!isUndefined(index = keys.pop())){\n if (!isUndefined(arg[index])) {\n result += index + ':' + stableHash(arg[index]) + ',';\n }\n }\n table.set(arg, result);\n }\n } else {\n result = isDate ? arg.toJSON() : type == 'symbol' ? arg.toString() : type == 'string' ? JSON.stringify(arg) : '' + arg;\n }\n return result;\n};\n\n// Global state used to deduplicate requests and store listeners\nconst SWRGlobalState = new WeakMap();\n\nconst EMPTY_CACHE = {};\nconst INITIAL_CACHE = {};\nconst STR_UNDEFINED = 'undefined';\n// NOTE: Use the function to guarantee it's re-evaluated between jsdom and node runtime for tests.\nconst isWindowDefined = typeof window != STR_UNDEFINED;\nconst isDocumentDefined = typeof document != STR_UNDEFINED;\nconst hasRequestAnimationFrame = ()=>isWindowDefined && typeof window['requestAnimationFrame'] != STR_UNDEFINED;\nconst createCacheHelper = (cache, key)=>{\n const state = SWRGlobalState.get(cache);\n return [\n // Getter\n ()=>!isUndefined(key) && cache.get(key) || EMPTY_CACHE,\n // Setter\n (info)=>{\n if (!isUndefined(key)) {\n const prev = cache.get(key);\n // Before writing to the store, we keep the value in the initial cache\n // if it's not there yet.\n if (!(key in INITIAL_CACHE)) {\n INITIAL_CACHE[key] = prev;\n }\n state[5](key, mergeObjects(prev, info), prev || EMPTY_CACHE);\n }\n },\n // Subscriber\n state[6],\n // Get server cache snapshot\n ()=>{\n if (!isUndefined(key)) {\n // If the cache was updated on the client, we return the stored initial value.\n if (key in INITIAL_CACHE) return INITIAL_CACHE[key];\n }\n // If we haven't done any client-side updates, we return the current value.\n return !isUndefined(key) && cache.get(key) || EMPTY_CACHE;\n }\n ];\n} // export { UNDEFINED, OBJECT, isUndefined, isFunction, mergeObjects, isPromiseLike }\n;\n\n/**\n * Due to the bug https://bugs.chromium.org/p/chromium/issues/detail?id=678075,\n * it's not reliable to detect if the browser is currently online or offline\n * based on `navigator.onLine`.\n * As a workaround, we always assume it's online on the first load, and change\n * the status upon `online` or `offline` events.\n */ let online = true;\nconst isOnline = ()=>online;\n// For node and React Native, `add/removeEventListener` doesn't exist on window.\nconst [onWindowEvent, offWindowEvent] = isWindowDefined && window.addEventListener ? [\n window.addEventListener.bind(window),\n window.removeEventListener.bind(window)\n] : [\n noop,\n noop\n];\nconst isVisible = ()=>{\n const visibilityState = isDocumentDefined && document.visibilityState;\n return isUndefined(visibilityState) || visibilityState !== 'hidden';\n};\nconst initFocus = (callback)=>{\n // focus revalidate\n if (isDocumentDefined) {\n document.addEventListener('visibilitychange', callback);\n }\n onWindowEvent('focus', callback);\n return ()=>{\n if (isDocumentDefined) {\n document.removeEventListener('visibilitychange', callback);\n }\n offWindowEvent('focus', callback);\n };\n};\nconst initReconnect = (callback)=>{\n // revalidate on reconnected\n const onOnline = ()=>{\n online = true;\n callback();\n };\n // nothing to revalidate, just update the status\n const onOffline = ()=>{\n online = false;\n };\n onWindowEvent('online', onOnline);\n onWindowEvent('offline', onOffline);\n return ()=>{\n offWindowEvent('online', onOnline);\n offWindowEvent('offline', onOffline);\n };\n};\nconst preset = {\n isOnline,\n isVisible\n};\nconst defaultConfigOptions = {\n initFocus,\n initReconnect\n};\n\nconst IS_REACT_LEGACY = !React.useId;\nconst IS_SERVER = !isWindowDefined || 'Deno' in window;\n// Polyfill requestAnimationFrame\nconst rAF = (f)=>hasRequestAnimationFrame() ? window['requestAnimationFrame'](f) : setTimeout(f, 1);\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\nconst useIsomorphicLayoutEffect = IS_SERVER ? useEffect : useLayoutEffect;\n// This assignment is to extend the Navigator type to use effectiveType.\nconst navigatorConnection = typeof navigator !== 'undefined' && navigator.connection;\n// Adjust the config based on slow connection status (<= 70Kbps).\nconst slowConnection = !IS_SERVER && navigatorConnection && ([\n 'slow-2g',\n '2g'\n].includes(navigatorConnection.effectiveType) || navigatorConnection.saveData);\n\nconst serialize = (key)=>{\n if (isFunction(key)) {\n try {\n key = key();\n } catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n // Use the original key as the argument of fetcher. This can be a string or an\n // array of values.\n const args = key;\n // If key is not falsy, or not an empty array, hash it.\n key = typeof key == 'string' ? key : (Array.isArray(key) ? key.length : key) ? stableHash(key) : '';\n return [\n key,\n args\n ];\n};\n\n// Global timestamp.\nlet __timestamp = 0;\nconst getTimestamp = ()=>++__timestamp;\n\nconst FOCUS_EVENT = 0;\nconst RECONNECT_EVENT = 1;\nconst MUTATE_EVENT = 2;\nconst ERROR_REVALIDATE_EVENT = 3;\n\nvar events = {\n __proto__: null,\n ERROR_REVALIDATE_EVENT: ERROR_REVALIDATE_EVENT,\n FOCUS_EVENT: FOCUS_EVENT,\n MUTATE_EVENT: MUTATE_EVENT,\n RECONNECT_EVENT: RECONNECT_EVENT\n};\n\nasync function internalMutate(...args) {\n const [cache, _key, _data, _opts] = args;\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = mergeObjects({\n populateCache: true,\n throwOnError: true\n }, typeof _opts === 'boolean' ? {\n revalidate: _opts\n } : _opts || {});\n let populateCache = options.populateCache;\n const rollbackOnErrorOption = options.rollbackOnError;\n let optimisticData = options.optimisticData;\n const rollbackOnError = (error)=>{\n return typeof rollbackOnErrorOption === 'function' ? rollbackOnErrorOption(error) : rollbackOnErrorOption !== false;\n };\n const throwOnError = options.throwOnError;\n // If the second argument is a key filter, return the mutation results for all\n // filtered keys.\n if (isFunction(_key)) {\n const keyFilter = _key;\n const matchedKeys = [];\n const it = cache.keys();\n for (const key of it){\n if (// Skip the special useSWRInfinite and useSWRSubscription keys.\n !/^\\$(inf|sub)\\$/.test(key) && keyFilter(cache.get(key)._k)) {\n matchedKeys.push(key);\n }\n }\n return Promise.all(matchedKeys.map(mutateByKey));\n }\n return mutateByKey(_key);\n async function mutateByKey(_k) {\n // Serialize key\n const [key] = serialize(_k);\n if (!key) return;\n const [get, set] = createCacheHelper(cache, key);\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n const startRevalidate = ()=>{\n const revalidators = EVENT_REVALIDATORS[key];\n const revalidate = isFunction(options.revalidate) ? options.revalidate(get().data, _k) : options.revalidate !== false;\n if (revalidate) {\n // Invalidate the key by deleting the concurrent request markers so new\n // requests will not be deduped.\n delete FETCH[key];\n delete PRELOAD[key];\n if (revalidators && revalidators[0]) {\n return revalidators[0](MUTATE_EVENT).then(()=>get().data);\n }\n }\n return get().data;\n };\n // If there is no new data provided, revalidate the key with current state.\n if (args.length < 3) {\n // Revalidate and broadcast state.\n return startRevalidate();\n }\n let data = _data;\n let error;\n // Update global timestamps.\n const beforeMutationTs = getTimestamp();\n MUTATION[key] = [\n beforeMutationTs,\n 0\n ];\n const hasOptimisticData = !isUndefined(optimisticData);\n const state = get();\n // `displayedData` is the current value on screen. It could be the optimistic value\n // that is going to be overridden by a `committedData`, or get reverted back.\n // `committedData` is the validated value that comes from a fetch or mutation.\n const displayedData = state.data;\n const currentData = state._c;\n const committedData = isUndefined(currentData) ? displayedData : currentData;\n // Do optimistic data update.\n if (hasOptimisticData) {\n optimisticData = isFunction(optimisticData) ? optimisticData(committedData, displayedData) : optimisticData;\n // When we set optimistic data, backup the current committedData data in `_c`.\n set({\n data: optimisticData,\n _c: committedData\n });\n }\n if (isFunction(data)) {\n // `data` is a function, call it passing current cache value.\n try {\n data = data(committedData);\n } catch (err) {\n // If it throws an error synchronously, we shouldn't update the cache.\n error = err;\n }\n }\n // `data` is a promise/thenable, resolve the final data first.\n if (data && isPromiseLike(data)) {\n // This means that the mutation is async, we need to check timestamps to\n // avoid race conditions.\n data = await data.catch((err)=>{\n error = err;\n });\n // Check if other mutations have occurred since we've started this mutation.\n // If there's a race we don't update cache or broadcast the change,\n // just return the data.\n if (beforeMutationTs !== MUTATION[key][0]) {\n if (error) throw error;\n return data;\n } else if (error && hasOptimisticData && rollbackOnError(error)) {\n // Rollback. Always populate the cache in this case but without\n // transforming the data.\n populateCache = true;\n // Reset data to be the latest committed data, and clear the `_c` value.\n set({\n data: committedData,\n _c: UNDEFINED\n });\n }\n }\n // If we should write back the cache after request.\n if (populateCache) {\n if (!error) {\n // Transform the result into data.\n if (isFunction(populateCache)) {\n const populateCachedData = populateCache(data, committedData);\n set({\n data: populateCachedData,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n } else {\n // Only update cached data and reset the error if there's no error. Data can be `undefined` here.\n set({\n data,\n error: UNDEFINED,\n _c: UNDEFINED\n });\n }\n }\n }\n // Reset the timestamp to mark the mutation has ended.\n MUTATION[key][1] = getTimestamp();\n // Update existing SWR Hooks' internal states:\n Promise.resolve(startRevalidate()).then(()=>{\n // The mutation and revalidation are ended, we can clear it since the data is\n // not an optimistic value anymore.\n set({\n _c: UNDEFINED\n });\n });\n // Throw error or return data\n if (error) {\n if (throwOnError) throw error;\n return;\n }\n return data;\n }\n}\n\nconst revalidateAllKeys = (revalidators, type)=>{\n for(const key in revalidators){\n if (revalidators[key][0]) revalidators[key][0](type);\n }\n};\nconst initCache = (provider, options)=>{\n // The global state for a specific provider will be used to deduplicate\n // requests and store listeners. As well as a mutate function that is bound to\n // the cache.\n // The provider's global state might be already initialized. Let's try to get the\n // global state associated with the provider first.\n if (!SWRGlobalState.has(provider)) {\n const opts = mergeObjects(defaultConfigOptions, options);\n // If there's no global state bound to the provider, create a new one with the\n // new mutate function.\n const EVENT_REVALIDATORS = {};\n const mutate = internalMutate.bind(UNDEFINED, provider);\n let unmount = noop;\n const subscriptions = {};\n const subscribe = (key, callback)=>{\n const subs = subscriptions[key] || [];\n subscriptions[key] = subs;\n subs.push(callback);\n return ()=>subs.splice(subs.indexOf(callback), 1);\n };\n const setter = (key, value, prev)=>{\n provider.set(key, value);\n const subs = subscriptions[key];\n if (subs) {\n for (const fn of subs){\n fn(value, prev);\n }\n }\n };\n const initProvider = ()=>{\n if (!SWRGlobalState.has(provider)) {\n // Update the state if it's new, or if the provider has been extended.\n SWRGlobalState.set(provider, [\n EVENT_REVALIDATORS,\n {},\n {},\n {},\n mutate,\n setter,\n subscribe\n ]);\n if (!IS_SERVER) {\n // When listening to the native events for auto revalidations,\n // we intentionally put a delay (setTimeout) here to make sure they are\n // fired after immediate JavaScript executions, which can be\n // React's state updates.\n // This avoids some unnecessary revalidations such as\n // https://github.com/vercel/swr/issues/1680.\n const releaseFocus = opts.initFocus(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, FOCUS_EVENT)));\n const releaseReconnect = opts.initReconnect(setTimeout.bind(UNDEFINED, revalidateAllKeys.bind(UNDEFINED, EVENT_REVALIDATORS, RECONNECT_EVENT)));\n unmount = ()=>{\n releaseFocus && releaseFocus();\n releaseReconnect && releaseReconnect();\n // When un-mounting, we need to remove the cache provider from the state\n // storage too because it's a side-effect. Otherwise, when re-mounting we\n // will not re-register those event listeners.\n SWRGlobalState.delete(provider);\n };\n }\n }\n };\n initProvider();\n // This is a new provider, we need to initialize it and setup DOM events\n // listeners for `focus` and `reconnect` actions.\n // We might want to inject an extra layer on top of `provider` in the future,\n // such as key serialization, auto GC, etc.\n // For now, it's just a `Map` interface without any modifications.\n return [\n provider,\n mutate,\n initProvider,\n unmount\n ];\n }\n return [\n provider,\n SWRGlobalState.get(provider)[4]\n ];\n};\n\n// error retry\nconst onErrorRetry = (_, __, config, revalidate, opts)=>{\n const maxRetryCount = config.errorRetryCount;\n const currentRetryCount = opts.retryCount;\n // Exponential backoff\n const timeout = ~~((Math.random() + 0.5) * (1 << (currentRetryCount < 8 ? currentRetryCount : 8))) * config.errorRetryInterval;\n if (!isUndefined(maxRetryCount) && currentRetryCount > maxRetryCount) {\n return;\n }\n setTimeout(revalidate, timeout, opts);\n};\nconst compare = (currentData, newData)=>stableHash(currentData) == stableHash(newData);\n// Default cache provider\nconst [cache, mutate] = initCache(new Map());\n// Default config\nconst defaultConfig = mergeObjects({\n // events\n onLoadingSlow: noop,\n onSuccess: noop,\n onError: noop,\n onErrorRetry,\n onDiscarded: noop,\n // switches\n revalidateOnFocus: true,\n revalidateOnReconnect: true,\n revalidateIfStale: true,\n shouldRetryOnError: true,\n // timeouts\n errorRetryInterval: slowConnection ? 10000 : 5000,\n focusThrottleInterval: 5 * 1000,\n dedupingInterval: 2 * 1000,\n loadingTimeout: slowConnection ? 5000 : 3000,\n // providers\n compare,\n isPaused: ()=>false,\n cache,\n mutate,\n fallback: {}\n}, // use web preset by default\npreset);\n\nconst mergeConfigs = (a, b)=>{\n // Need to create a new object to avoid mutating the original here.\n const v = mergeObjects(a, b);\n // If two configs are provided, merge their `use` and `fallback` options.\n if (b) {\n const { use: u1, fallback: f1 } = a;\n const { use: u2, fallback: f2 } = b;\n if (u1 && u2) {\n v.use = u1.concat(u2);\n }\n if (f1 && f2) {\n v.fallback = mergeObjects(f1, f2);\n }\n }\n return v;\n};\n\nconst SWRConfigContext = createContext({});\nconst SWRConfig = (props)=>{\n const { value } = props;\n const parentConfig = useContext(SWRConfigContext);\n const isFunctionalConfig = isFunction(value);\n const config = useMemo(()=>isFunctionalConfig ? value(parentConfig) : value, [\n isFunctionalConfig,\n parentConfig,\n value\n ]);\n // Extend parent context values and middleware.\n const extendedConfig = useMemo(()=>isFunctionalConfig ? config : mergeConfigs(parentConfig, config), [\n isFunctionalConfig,\n parentConfig,\n config\n ]);\n // Should not use the inherited provider.\n const provider = config && config.provider;\n // initialize the cache only on first access.\n const cacheContextRef = useRef(UNDEFINED);\n if (provider && !cacheContextRef.current) {\n cacheContextRef.current = initCache(provider(extendedConfig.cache || cache), config);\n }\n const cacheContext = cacheContextRef.current;\n // Override the cache if a new provider is given.\n if (cacheContext) {\n extendedConfig.cache = cacheContext[0];\n extendedConfig.mutate = cacheContext[1];\n }\n // Unsubscribe events.\n useIsomorphicLayoutEffect(()=>{\n if (cacheContext) {\n cacheContext[2] && cacheContext[2]();\n return cacheContext[3];\n }\n }, []);\n return createElement(SWRConfigContext.Provider, mergeObjects(props, {\n value: extendedConfig\n }));\n};\n\nconst INFINITE_PREFIX = '$inf$';\n\n// @ts-expect-error\nconst enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;\nconst use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];\nconst setupDevTools = ()=>{\n if (enableDevtools) {\n // @ts-expect-error\n window.__SWR_DEVTOOLS_REACT__ = React;\n }\n};\n\nconst normalize = (args)=>{\n return isFunction(args[1]) ? [\n args[0],\n args[1],\n args[2] || {}\n ] : [\n args[0],\n null,\n (args[1] === null ? args[2] : args[1]) || {}\n ];\n};\n\nconst useSWRConfig = ()=>{\n return mergeObjects(defaultConfig, useContext(SWRConfigContext));\n};\n\nconst preload = (key_, fetcher)=>{\n const [key, fnArg] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // Prevent preload to be called multiple times before used.\n if (PRELOAD[key]) return PRELOAD[key];\n const req = fetcher(fnArg);\n PRELOAD[key] = req;\n return req;\n};\nconst middleware = (useSWRNext)=>(key_, fetcher_, config)=>{\n // fetcher might be a sync function, so this should not be an async function\n const fetcher = fetcher_ && ((...args)=>{\n const [key] = serialize(key_);\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n if (key.startsWith(INFINITE_PREFIX)) {\n // we want the infinite fetcher to be called.\n // handling of the PRELOAD cache happens there.\n return fetcher_(...args);\n }\n const req = PRELOAD[key];\n if (isUndefined(req)) return fetcher_(...args);\n delete PRELOAD[key];\n return req;\n });\n return useSWRNext(key_, fetcher, config);\n };\n\nconst BUILT_IN_MIDDLEWARE = use.concat(middleware);\n\n// It's tricky to pass generic types as parameters, so we just directly override\n// the types here.\nconst withArgs = (hook)=>{\n return function useSWRArgs(...args) {\n // Get the default and inherited configuration.\n const fallbackConfig = useSWRConfig();\n // Normalize arguments.\n const [key, fn, _config] = normalize(args);\n // Merge configurations.\n const config = mergeConfigs(fallbackConfig, _config);\n // Apply middleware\n let next = hook;\n const { use } = config;\n const middleware = (use || []).concat(BUILT_IN_MIDDLEWARE);\n for(let i = middleware.length; i--;){\n next = middleware[i](next);\n }\n return next(key, fn || config.fetcher || null, config);\n };\n};\n\n// Add a callback function to a list of keyed callback functions and return\n// the unsubscribe function.\nconst subscribeCallback = (key, callbacks, callback)=>{\n const keyedRevalidators = callbacks[key] || (callbacks[key] = []);\n keyedRevalidators.push(callback);\n return ()=>{\n const index = keyedRevalidators.indexOf(callback);\n if (index >= 0) {\n // O(1): faster than splice\n keyedRevalidators[index] = keyedRevalidators[keyedRevalidators.length - 1];\n keyedRevalidators.pop();\n }\n };\n};\n\n// Create a custom hook with a middleware\nconst withMiddleware = (useSWR, middleware)=>{\n return (...args)=>{\n const [key, fn, config] = normalize(args);\n const uses = (config.use || []).concat(middleware);\n return useSWR(key, fn, {\n ...config,\n use: uses\n });\n };\n};\n\nsetupDevTools();\n\nexport { INFINITE_PREFIX, IS_REACT_LEGACY, IS_SERVER, OBJECT, SWRConfig, SWRGlobalState, UNDEFINED, cache, compare, createCacheHelper, defaultConfig, defaultConfigOptions, getTimestamp, hasRequestAnimationFrame, initCache, internalMutate, isDocumentDefined, isFunction, isPromiseLike, isUndefined, isWindowDefined, mergeConfigs, mergeObjects, mutate, noop, normalize, preload, preset, rAF, events as revalidateEvents, serialize, slowConnection, stableHash, subscribeCallback, useIsomorphicLayoutEffect, useSWRConfig, withArgs, withMiddleware };\n","import type {NormalizedOptions} from '../types/options.js';\nimport type {KyRequest} from '../types/request.js';\nimport type {KyResponse} from '../types/response.js';\n\nexport class HTTPError<T = unknown> extends Error {\n\tpublic response: KyResponse<T>;\n\tpublic request: KyRequest;\n\tpublic options: NormalizedOptions;\n\n\tconstructor(response: Response, request: Request, options: NormalizedOptions) {\n\t\tconst code = (response.status || response.status === 0) ? response.status : '';\n\t\tconst title = response.statusText || '';\n\t\tconst status = `${code} ${title}`.trim();\n\t\tconst reason = status ? `status code ${status}` : 'an unknown error';\n\n\t\tsuper(`Request failed with ${reason}: ${request.method} ${request.url}`);\n\n\t\tthis.name = 'HTTPError';\n\t\tthis.response = response;\n\t\tthis.request = request;\n\t\tthis.options = options;\n\t}\n}\n","import type {KyRequest} from '../types/request.js';\n\nexport class TimeoutError extends Error {\n\tpublic request: KyRequest;\n\n\tconstructor(request: Request) {\n\t\tsuper(`Request timed out: ${request.method} ${request.url}`);\n\t\tthis.name = 'TimeoutError';\n\t\tthis.request = request;\n\t}\n}\n","import type {Expect, Equal} from '@type-challenges/utils';\nimport {type HttpMethod, type KyOptionsRegistry} from '../types/options.js';\nimport {type RequestInitRegistry} from '../types/request.js';\n\nexport const supportsRequestStreams = (() => {\n\tlet duplexAccessed = false;\n\tlet hasContentType = false;\n\tconst supportsReadableStream = typeof globalThis.ReadableStream === 'function';\n\tconst supportsRequest = typeof globalThis.Request === 'function';\n\n\tif (supportsReadableStream && supportsRequest) {\n\t\ttry {\n\t\t\thasContentType = new globalThis.Request('https://empty.invalid', {\n\t\t\t\tbody: new globalThis.ReadableStream(),\n\t\t\t\tmethod: 'POST',\n\t\t\t\t// @ts-expect-error - Types are outdated.\n\t\t\t\tget duplex() {\n\t\t\t\t\tduplexAccessed = true;\n\t\t\t\t\treturn 'half';\n\t\t\t\t},\n\t\t\t}).headers.has('Content-Type');\n\t\t} catch (error) {\n\t\t\t// QQBrowser on iOS throws \"unsupported BodyInit type\" error (see issue #581)\n\t\t\tif (error instanceof Error && error.message === 'unsupported BodyInit type') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn duplexAccessed && !hasContentType;\n})();\n\nexport const supportsAbortController = typeof globalThis.AbortController === 'function';\nexport const supportsAbortSignal = typeof globalThis.AbortSignal === 'function' && typeof globalThis.AbortSignal.any === 'function';\nexport const supportsResponseStreams = typeof globalThis.ReadableStream === 'function';\nexport const supportsFormData = typeof globalThis.FormData === 'function';\n\nexport const requestMethods = ['get', 'post', 'put', 'patch', 'head', 'delete'] as const;\n\nconst validate = <T extends Array<true>>() => undefined as unknown as T;\nvalidate<[\n\tExpect<Equal<typeof requestMethods[number], HttpMethod>>,\n]>();\n\nexport const responseTypes = {\n\tjson: 'application/json',\n\ttext: 'text/*',\n\tformData: 'multipart/form-data',\n\tarrayBuffer: '*/*',\n\tblob: '*/*',\n\t// Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).\n\t// We still feature-check at runtime before exposing the shortcut.\n\tbytes: '*/*',\n} as const;\n\n// The maximum value of a 32bit int (see issue #117)\nexport const maxSafeTimeout = 2_147_483_647;\n\n// Size in bytes of a typical form boundary, used to help estimate upload size\nexport const usualFormBoundarySize = new TextEncoder().encode('------WebKitFormBoundaryaxpyiPgbbPti10Rw').length;\n\nexport const stop = Symbol('stop');\n\nexport const kyOptionKeys: KyOptionsRegistry = {\n\tjson: true,\n\tparseJson: true,\n\tstringifyJson: true,\n\tsearchParams: true,\n\tprefixUrl: true,\n\tretry: true,\n\ttimeout: true,\n\thooks: true,\n\tthrowHttpErrors: true,\n\tonDownloadProgress: true,\n\tonUploadProgress: true,\n\tfetch: true,\n};\n\nexport const requestOptionsRegistry: RequestInitRegistry = {\n\tmethod: true,\n\theaders: true,\n\tbody: true,\n\tmode: true,\n\tcredentials: true,\n\tcache: true,\n\tredirect: true,\n\treferrer: true,\n\treferrerPolicy: true,\n\tintegrity: true,\n\tkeepalive: true,\n\tsignal: true,\n\twindow: true,\n\tdispatcher: true,\n\tduplex: true,\n\tpriority: true,\n};\n","import type {Options} from '../types/options.js';\nimport {usualFormBoundarySize} from '../core/constants.js';\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const getBodySize = (body?: BodyInit | null): number => {\n\tif (!body) {\n\t\treturn 0;\n\t}\n\n\tif (body instanceof FormData) {\n\t\t// This is an approximation, as FormData size calculation is not straightforward\n\t\tlet size = 0;\n\n\t\tfor (const [key, value] of body) {\n\t\t\tsize += usualFormBoundarySize;\n\t\t\tsize += new TextEncoder().encode(`Content-Disposition: form-data; name=\"${key}\"`).length;\n\t\t\tsize += typeof value === 'string'\n\t\t\t\t? new TextEncoder().encode(value).length\n\t\t\t\t: value.size;\n\t\t}\n\n\t\treturn size;\n\t}\n\n\tif (body instanceof Blob) {\n\t\treturn body.size;\n\t}\n\n\tif (body instanceof ArrayBuffer) {\n\t\treturn body.byteLength;\n\t}\n\n\tif (typeof body === 'string') {\n\t\treturn new TextEncoder().encode(body).length;\n\t}\n\n\tif (body instanceof URLSearchParams) {\n\t\treturn new TextEncoder().encode(body.toString()).length;\n\t}\n\n\tif ('byteLength' in body) {\n\t\treturn (body).byteLength;\n\t}\n\n\tif (typeof body === 'object' && body !== null) {\n\t\ttry {\n\t\t\tconst jsonString = JSON.stringify(body);\n\t\t\treturn new TextEncoder().encode(jsonString).length;\n\t\t} catch {\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\treturn 0; // Default case, unable to determine size\n};\n\nexport const streamResponse = (response: Response, onDownloadProgress: Options['onDownloadProgress']) => {\n\tconst totalBytes = Number(response.headers.get('content-length')) || 0;\n\tlet transferredBytes = 0;\n\n\tif (response.status === 204) {\n\t\tif (onDownloadProgress) {\n\t\t\tonDownloadProgress({percent: 1, totalBytes, transferredBytes}, new Uint8Array());\n\t\t}\n\n\t\treturn new Response(\n\t\t\tnull,\n\t\t\t{\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\theaders: response.headers,\n\t\t\t},\n\t\t);\n\t}\n\n\treturn new Response(\n\t\tnew ReadableStream({\n\t\t\tasync start(controller) {\n\t\t\t\tconst reader = response.body!.getReader();\n\n\t\t\t\tif (onDownloadProgress) {\n\t\t\t\t\tonDownloadProgress({percent: 0, transferredBytes: 0, totalBytes}, new Uint8Array());\n\t\t\t\t}\n\n\t\t\t\tasync function read() {\n\t\t\t\t\tconst {done, value} = await reader.read();\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (onDownloadProgress) {\n\t\t\t\t\t\ttransferredBytes += value.byteLength;\n\t\t\t\t\t\tconst percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;\n\t\t\t\t\t\tonDownloadProgress({percent, transferredBytes, totalBytes}, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\tawait read();\n\t\t\t\t}\n\n\t\t\t\tawait read();\n\t\t\t},\n\t\t}),\n\t\t{\n\t\t\tstatus: response.status,\n\t\t\tstatusText: response.statusText,\n\t\t\theaders: response.headers,\n\t\t},\n\t);\n};\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport const streamRequest = (request: Request, onUploadProgress: Options['onUploadProgress'], originalBody?: BodyInit | null) => {\n\t// Use original body for size calculation since request.body is already a stream\n\tconst totalBytes = getBodySize(originalBody ?? request.body);\n\tlet transferredBytes = 0;\n\n\treturn new Request(request, {\n\t\t// @ts-expect-error - Types are outdated.\n\t\tduplex: 'half',\n\t\tbody: new ReadableStream({\n\t\t\tasync start(controller) {\n\t\t\t\tconst reader = request.body instanceof ReadableStream ? request.body.getReader() : new Response('').body!.getReader();\n\n\t\t\t\tasync function read() {\n\t\t\t\t\tconst {done, value} = await reader.read();\n\t\t\t\t\tif (done) {\n\t\t\t\t\t\t// Ensure 100% progress is reported when the upload is complete\n\t\t\t\t\t\tif (onUploadProgress) {\n\t\t\t\t\t\t\tonUploadProgress({percent: 1, transferredBytes, totalBytes: Math.max(totalBytes, transferredBytes)}, new Uint8Array());\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\ttransferredBytes += value.byteLength;\n\t\t\t\t\tlet percent = totalBytes === 0 ? 0 : transferredBytes / totalBytes;\n\t\t\t\t\tif (totalBytes < transferredBytes || percent === 1) {\n\t\t\t\t\t\tpercent = 0.99;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (onUploadProgress) {\n\t\t\t\t\t\tonUploadProgress({percent: Number(percent.toFixed(2)), transferredBytes, totalBytes}, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\tawait read();\n\t\t\t\t}\n\n\t\t\t\tawait read();\n\t\t\t},\n\t\t}),\n\t});\n};\n","// eslint-disable-next-line @typescript-eslint/ban-types\nexport const isObject = (value: unknown): value is object => value !== null && typeof value === 'object';\n","import type {KyHeadersInit, Options} from '../types/options.js';\nimport type {Hooks} from '../types/hooks.js';\nimport {isObject} from './is.js';\n\nexport const validateAndMerge = (...sources: Array<Partial<Options> | undefined>): Partial<Options> => {\n\tfor (const source of sources) {\n\t\tif ((!isObject(source) || Array.isArray(source)) && source !== undefined) {\n\t\t\tthrow new TypeError('The `options` argument must be an object');\n\t\t}\n\t}\n\n\treturn deepMerge({}, ...sources);\n};\n\nexport const mergeHeaders = (source1: KyHeadersInit = {}, source2: KyHeadersInit = {}) => {\n\tconst result = new globalThis.Headers(source1 as RequestInit['headers']);\n\tconst isHeadersInstance = source2 instanceof globalThis.Headers;\n\tconst source = new globalThis.Headers(source2 as RequestInit['headers']);\n\n\tfor (const [key, value] of source.entries()) {\n\t\tif ((isHeadersInstance && value === 'undefined') || value === undefined) {\n\t\t\tresult.delete(key);\n\t\t} else {\n\t\t\tresult.set(key, value);\n\t\t}\n\t}\n\n\treturn result;\n};\n\nfunction newHookValue<K extends keyof Hooks>(original: Hooks, incoming: Hooks, property: K): Required<Hooks>[K] {\n\treturn (Object.hasOwn(incoming, property) && incoming[property] === undefined)\n\t\t? []\n\t\t: deepMerge<Required<Hooks>[K]>(original[property] ?? [], incoming[property] ?? []);\n}\n\nexport const mergeHooks = (original: Hooks = {}, incoming: Hooks = {}): Required<Hooks> => (\n\t{\n\t\tbeforeRequest: newHookValue(original, incoming, 'beforeRequest'),\n\t\tbeforeRetry: newHookValue(original, incoming, 'beforeRetry'),\n\t\tafterResponse: newHookValue(original, incoming, 'afterResponse'),\n\t\tbeforeError: newHookValue(original, incoming, 'beforeError'),\n\t}\n);\n\n// TODO: Make this strongly-typed (no `any`).\nexport const deepMerge = <T>(...sources: Array<Partial<T> | undefined>): T => {\n\tlet returnValue: any = {};\n\tlet headers = {};\n\tlet hooks = {};\n\n\tfor (const source of sources) {\n\t\tif (Array.isArray(source)) {\n\t\t\tif (!Array.isArray(returnValue)) {\n\t\t\t\treturnValue = [];\n\t\t\t}\n\n\t\t\treturnValue = [...returnValue, ...source];\n\t\t} else if (isObject(source)) {\n\t\t\tfor (let [key, value] of Object.entries(source)) {\n\t\t\t\tif (isObject(value) && key in returnValue) {\n\t\t\t\t\tvalue = deepMerge(returnValue[key], value);\n\t\t\t\t}\n\n\t\t\t\treturnValue = {...returnValue, [key]: value};\n\t\t\t}\n\n\t\t\tif (isObject((source as any).hooks)) {\n\t\t\t\thooks = mergeHooks(hooks, (source as any).hooks);\n\t\t\t\treturnValue.hooks = hooks;\n\t\t\t}\n\n\t\t\tif (isObject((source as any).headers)) {\n\t\t\t\theaders = mergeHeaders(headers, (source as any).headers);\n\t\t\t\treturnValue.headers = headers;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn returnValue;\n};\n","import {requestMethods} from '../core/constants.js';\nimport type {HttpMethod} from '../types/options.js';\nimport type {RetryOptions} from '../types/retry.js';\n\nexport const normalizeRequestMethod = (input: string): string =>\n\trequestMethods.includes(input as HttpMethod) ? input.toUpperCase() : input;\n\nconst retryMethods = ['get', 'put', 'head', 'delete', 'options', 'trace'];\n\nconst retryStatusCodes = [408, 413, 429, 500, 502, 503, 504];\n\nconst retryAfterStatusCodes = [413, 429, 503];\n\nconst defaultRetryOptions: Required<RetryOptions> = {\n\tlimit: 2,\n\tmethods: retryMethods,\n\tstatusCodes: retryStatusCodes,\n\tafterStatusCodes: retryAfterStatusCodes,\n\tmaxRetryAfter: Number.POSITIVE_INFINITY,\n\tbackoffLimit: Number.POSITIVE_INFINITY,\n\tdelay: attemptCount => 0.3 * (2 ** (attemptCount - 1)) * 1000,\n};\n\nexport const normalizeRetryOptions = (retry: number | RetryOptions = {}): Required<RetryOptions> => {\n\tif (typeof retry === 'number') {\n\t\treturn {\n\t\t\t...defaultRetryOptions,\n\t\t\tlimit: retry,\n\t\t};\n\t}\n\n\tif (retry.methods && !Array.isArray(retry.methods)) {\n\t\tthrow new Error('retry.methods must be an array');\n\t}\n\n\tif (retry.statusCodes && !Array.isArray(retry.statusCodes)) {\n\t\tthrow new Error('retry.statusCodes must be an array');\n\t}\n\n\treturn {\n\t\t...defaultRetryOptions,\n\t\t...retry,\n\t};\n};\n","import {TimeoutError} from '../errors/TimeoutError.js';\n\nexport type TimeoutOptions = {\n\ttimeout: number;\n\tfetch: typeof fetch;\n};\n\n// `Promise.race()` workaround (#91)\nexport default async function timeout(\n\trequest: Request,\n\tinit: RequestInit,\n\tabortController: AbortController | undefined,\n\toptions: TimeoutOptions,\n): Promise<Response> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tif (abortController) {\n\t\t\t\tabortController.abort();\n\t\t\t}\n\n\t\t\treject(new TimeoutError(request));\n\t\t}, options.timeout);\n\n\t\tvoid options\n\t\t\t.fetch(request, init)\n\t\t\t.then(resolve)\n\t\t\t.catch(reject)\n\t\t\t.then(() => {\n\t\t\t\tclearTimeout(timeoutId);\n\t\t\t});\n\t});\n}\n","// https://github.com/sindresorhus/delay/tree/ab98ae8dfcb38e1593286c94d934e70d14a4e111\n\nimport {type InternalOptions} from '../types/options.js';\n\nexport type DelayOptions = {\n\tsignal?: InternalOptions['signal'];\n};\n\nexport default async function delay(\n\tms: number,\n\t{signal}: DelayOptions,\n): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tif (signal) {\n\t\t\tsignal.throwIfAborted();\n\t\t\tsignal.addEventListener('abort', abortHandler, {once: true});\n\t\t}\n\n\t\tfunction abortHandler() {\n\t\t\tclearTimeout(timeoutId);\n\t\t\treject(signal!.reason as Error);\n\t\t}\n\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tsignal?.removeEventListener('abort', abortHandler);\n\t\t\tresolve();\n\t\t}, ms);\n\t});\n}\n","import {kyOptionKeys, requestOptionsRegistry} from '../core/constants.js';\nimport type {SearchParamsOption} from '../types/options.js';\n\nexport const findUnknownOptions = (\n\trequest: Request,\n\toptions: Record<string, unknown>,\n): Record<string, unknown> => {\n\tconst unknownOptions: Record<string, unknown> = {};\n\n\tfor (const key in options) {\n\t\tif (!(key in requestOptionsRegistry) && !(key in kyOptionKeys) && !(key in request)) {\n\t\t\tunknownOptions[key] = options[key];\n\t\t}\n\t}\n\n\treturn unknownOptions;\n};\n\nexport const hasSearchParameters = (search: SearchParamsOption): boolean => {\n\tif (search === undefined) {\n\t\treturn false;\n\t}\n\n\t// The `typeof array` still gives \"object\", so we need different checking for array.\n\tif (Array.isArray(search)) {\n\t\treturn search.length > 0;\n\t}\n\n\tif (search instanceof URLSearchParams) {\n\t\treturn search.size > 0;\n\t}\n\n\t// Record\n\tif (typeof search === 'object') {\n\t\treturn Object.keys(search).length > 0;\n\t}\n\n\tif (typeof search === 'string') {\n\t\treturn search.trim().length > 0;\n\t}\n\n\treturn Boolean(search);\n};\n","import {HTTPError} from '../errors/HTTPError.js';\nimport {TimeoutError} from '../errors/TimeoutError.js';\nimport type {\n\tInput,\n\tInternalOptions,\n\tNormalizedOptions,\n\tOptions,\n\tSearchParamsInit,\n} from '../types/options.js';\nimport {type ResponsePromise} from '../types/ResponsePromise.js';\nimport {streamRequest, streamResponse} from '../utils/body.js';\nimport {mergeHeaders, mergeHooks} from '../utils/merge.js';\nimport {normalizeRequestMethod, normalizeRetryOptions} from '../utils/normalize.js';\nimport timeout, {type TimeoutOptions} from '../utils/timeout.js';\nimport delay from '../utils/delay.js';\nimport {type ObjectEntries} from '../utils/types.js';\nimport {findUnknownOptions, hasSearchParameters} from '../utils/options.js';\nimport {\n\tmaxSafeTimeout,\n\tresponseTypes,\n\tstop,\n\tsupportsAbortController,\n\tsupportsAbortSignal,\n\tsupportsFormData,\n\tsupportsResponseStreams,\n\tsupportsRequestStreams,\n} from './constants.js';\n\nexport class Ky {\n\tstatic create(input: Input, options: Options): ResponsePromise {\n\t\tconst ky = new Ky(input, options);\n\n\t\tconst function_ = async (): Promise<Response> => {\n\t\t\tif (typeof ky._options.timeout === 'number' && ky._options.timeout > maxSafeTimeout) {\n\t\t\t\tthrow new RangeError(`The \\`timeout\\` option cannot be greater than ${maxSafeTimeout}`);\n\t\t\t}\n\n\t\t\t// Delay the fetch so that body method shortcuts can set the Accept header\n\t\t\tawait Promise.resolve();\n\t\t\t// Before using ky.request, _fetch clones it and saves the clone for future retries to use.\n\t\t\t// If retry is not needed, close the cloned request's ReadableStream for memory safety.\n\t\t\tlet response = await ky._fetch();\n\n\t\t\tfor (const hook of ky._options.hooks.afterResponse) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst modifiedResponse = await hook(\n\t\t\t\t\tky.request,\n\t\t\t\t\tky._options as NormalizedOptions,\n\t\t\t\t\tky._decorateResponse(response.clone()),\n\t\t\t\t);\n\n\t\t\t\tif (modifiedResponse instanceof globalThis.Response) {\n\t\t\t\t\tresponse = modifiedResponse;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tky._decorateResponse(response);\n\n\t\t\tif (!response.ok && ky._options.throwHttpErrors) {\n\t\t\t\tlet error = new HTTPError(response, ky.request, ky._options as NormalizedOptions);\n\n\t\t\t\tfor (const hook of ky._options.hooks.beforeError) {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\terror = await hook(error);\n\t\t\t\t}\n\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\t// If `onDownloadProgress` is passed, it uses the stream API internally\n\t\t\tif (ky._options.onDownloadProgress) {\n\t\t\t\tif (typeof ky._options.onDownloadProgress !== 'function') {\n\t\t\t\t\tthrow new TypeError('The `onDownloadProgress` option must be a function');\n\t\t\t\t}\n\n\t\t\t\tif (!supportsResponseStreams) {\n\t\t\t\t\tthrow new Error('Streams are not supported in your environment. `ReadableStream` is missing.');\n\t\t\t\t}\n\n\t\t\t\treturn streamResponse(response.clone(), ky._options.onDownloadProgress);\n\t\t\t}\n\n\t\t\treturn response;\n\t\t};\n\n\t\tconst isRetriableMethod = ky._options.retry.methods.includes(ky.request.method.toLowerCase());\n\t\tconst result = (isRetriableMethod ? ky._retry(function_) : function_())\n\t\t\t.finally(async () => {\n\t\t\t\t// Now that we know a retry is not needed, close the ReadableStream of the cloned request.\n\t\t\t\tif (!ky.request.bodyUsed) {\n\t\t\t\t\tawait ky.request.body?.cancel();\n\t\t\t\t}\n\t\t\t}) as ResponsePromise;\n\n\t\tfor (const [type, mimeType] of Object.entries(responseTypes) as ObjectEntries<typeof responseTypes>) {\n\t\t\t// Only expose `.bytes()` when the environment implements it.\n\t\t\tif (\n\t\t\t\ttype === 'bytes'\n\t\t\t\t&& typeof (globalThis.Response?.prototype as unknown as {bytes?: unknown})?.bytes !== 'function'\n\t\t\t) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tresult[type] = async () => {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n\t\t\t\tky.request.headers.set('accept', ky.request.headers.get('accept') || mimeType);\n\n\t\t\t\tconst response = await result;\n\n\t\t\t\tif (type === 'json') {\n\t\t\t\t\tif (response.status === 204) {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\n\t\t\t\t\tconst arrayBuffer = await response.clone().arrayBuffer();\n\t\t\t\t\tconst responseSize = arrayBuffer.byteLength;\n\t\t\t\t\tif (responseSize === 0) {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.parseJson) {\n\t\t\t\t\t\treturn options.parseJson(await response.text());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn response[type]();\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tpublic request: Request;\n\tprotected abortController?: AbortController;\n\tprotected _retryCount = 0;\n\tprotected _input: Input;\n\tprotected _options: InternalOptions;\n\n\t// eslint-disable-next-line complexity\n\tconstructor(input: Input, options: Options = {}) {\n\t\tthis._input = input;\n\n\t\tthis._options = {\n\t\t\t...options,\n\t\t\theaders: mergeHeaders((this._input as Request).headers, options.headers),\n\t\t\thooks: mergeHooks(\n\t\t\t\t{\n\t\t\t\t\tbeforeRequest: [],\n\t\t\t\t\tbeforeRetry: [],\n\t\t\t\t\tbeforeError: [],\n\t\t\t\t\tafterResponse: [],\n\t\t\t\t},\n\t\t\t\toptions.hooks,\n\t\t\t),\n\t\t\tmethod: normalizeRequestMethod(options.method ?? (this._input as Request).method ?? 'GET'),\n\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n\t\t\tprefixUrl: String(options.prefixUrl || ''),\n\t\t\tretry: normalizeRetryOptions(options.retry),\n\t\t\tthrowHttpErrors: options.throwHttpErrors !== false,\n\t\t\ttimeout: options.timeout ?? 10_000,\n\t\t\tfetch: options.fetch ?? globalThis.fetch.bind(globalThis),\n\t\t};\n\n\t\tif (typeof this._input !== 'string' && !(this._input instanceof URL || this._input instanceof globalThis.Request)) {\n\t\t\tthrow new TypeError('`input` must be a string, URL, or Request');\n\t\t}\n\n\t\tif (this._options.prefixUrl && typeof this._input === 'string') {\n\t\t\tif (this._input.startsWith('/')) {\n\t\t\t\tthrow new Error('`input` must not begin with a slash when using `prefixUrl`');\n\t\t\t}\n\n\t\t\tif (!this._options.prefixUrl.endsWith('/')) {\n\t\t\t\tthis._options.prefixUrl += '/';\n\t\t\t}\n\n\t\t\tthis._input = this._options.prefixUrl + this._input;\n\t\t}\n\n\t\tif (supportsAbortController && supportsAbortSignal) {\n\t\t\tconst originalSignal = this._options.signal ?? (this._input as Request).signal;\n\t\t\tthis.abortController = new globalThis.AbortController();\n\t\t\tthis._options.signal = originalSignal ? AbortSignal.any([originalSignal, this.abortController.signal]) : this.abortController.signal;\n\t\t}\n\n\t\tif (supportsRequestStreams) {\n\t\t\t// @ts-expect-error - Types are outdated.\n\t\t\tthis._options.duplex = 'half';\n\t\t}\n\n\t\tif (this._options.json !== undefined) {\n\t\t\tthis._options.body = this._options.stringifyJson?.(this._options.json) ?? JSON.stringify(this._options.json);\n\t\t\tthis._options.headers.set('content-type', this._options.headers.get('content-type') ?? 'application/json');\n\t\t}\n\n\t\tthis.request = new globalThis.Request(this._input, this._options);\n\n\t\tif (hasSearchParameters(this._options.searchParams)) {\n\t\t\t// eslint-disable-next-line unicorn/prevent-abbreviations\n\t\t\tconst textSearchParams = typeof this._options.searchParams === 'string'\n\t\t\t\t? this._options.searchParams.replace(/^\\?/, '')\n\t\t\t\t: new URLSearchParams(this._options.searchParams as unknown as SearchParamsInit).toString();\n\t\t\t// eslint-disable-next-line unicorn/prevent-abbreviations\n\t\t\tconst searchParams = '?' + textSearchParams;\n\t\t\tconst url = this.request.url.replace(/(?:\\?.*?)?(?=#|$)/, searchParams);\n\n\t\t\t// To provide correct form boundary, Content-Type header should be deleted each time when new Request instantiated from another one\n\t\t\tif (\n\t\t\t\t((supportsFormData && this._options.body instanceof globalThis.FormData)\n\t\t\t\t\t|| this._options.body instanceof URLSearchParams) && !(this._options.headers && (this._options.headers as Record<string, string>)['content-type'])\n\t\t\t) {\n\t\t\t\tthis.request.headers.delete('content-type');\n\t\t\t}\n\n\t\t\t// The spread of `this.request` is required as otherwise it misses the `duplex` option for some reason and throws.\n\t\t\tthis.request = new globalThis.Request(new globalThis.Request(url, {...this.request}), this._options as RequestInit);\n\t\t}\n\n\t\t// If `onUploadProgress` is passed, it uses the stream API internally\n\t\tif (this._options.onUploadProgress) {\n\t\t\tif (typeof this._options.onUploadProgress !== 'function') {\n\t\t\t\tthrow new TypeError('The `onUploadProgress` option must be a function');\n\t\t\t}\n\n\t\t\tif (!supportsRequestStreams) {\n\t\t\t\tthrow new Error('Request streams are not supported in your environment. The `duplex` option for `Request` is not available.');\n\t\t\t}\n\n\t\t\tconst originalBody = this.request.body;\n\t\t\tif (originalBody) {\n\t\t\t\t// Pass original body to calculate size correctly (before it becomes a stream)\n\t\t\t\tthis.request = streamRequest(this.request, this._options.onUploadProgress, this._options.body);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _calculateRetryDelay(error: unknown) {\n\t\tthis._retryCount++;\n\n\t\tif (this._retryCount > this._options.retry.limit || error instanceof TimeoutError) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (error instanceof HTTPError) {\n\t\t\tif (!this._options.retry.statusCodes.includes(error.response.status)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tconst retryAfter = error.response.headers.get('Retry-After')\n\t\t\t\t?? error.response.headers.get('RateLimit-Reset')\n\t\t\t\t?? error.response.headers.get('X-RateLimit-Reset') // GitHub\n\t\t\t\t?? error.response.headers.get('X-Rate-Limit-Reset'); // Twitter\n\t\t\tif (retryAfter && this._options.retry.afterStatusCodes.includes(error.response.status)) {\n\t\t\t\tlet after = Number(retryAfter) * 1000;\n\t\t\t\tif (Number.isNaN(after)) {\n\t\t\t\t\tafter = Date.parse(retryAfter) - Date.now();\n\t\t\t\t} else if (after >= Date.parse('2024-01-01')) {\n\t\t\t\t\t// A large number is treated as a timestamp (fixed threshold protects against clock skew)\n\t\t\t\t\tafter -= Date.now();\n\t\t\t\t}\n\n\t\t\t\tconst max = this._options.retry.maxRetryAfter ?? after;\n\t\t\t\treturn after < max ? after : max;\n\t\t\t}\n\n\t\t\tif (error.response.status === 413) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tconst retryDelay = this._options.retry.delay(this._retryCount);\n\t\treturn Math.min(this._options.retry.backoffLimit, retryDelay);\n\t}\n\n\tprotected _decorateResponse(response: Response): Response {\n\t\tif (this._options.parseJson) {\n\t\t\tresponse.json = async () => this._options.parseJson!(await response.text());\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprotected async _retry<T extends (...arguments_: any) => Promise<any>>(function_: T): Promise<ReturnType<T> | void> {\n\t\ttry {\n\t\t\treturn await function_();\n\t\t} catch (error) {\n\t\t\tconst ms = Math.min(this._calculateRetryDelay(error), maxSafeTimeout);\n\t\t\tif (this._retryCount < 1) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tawait delay(ms, {signal: this._options.signal});\n\n\t\t\tfor (const hook of this._options.hooks.beforeRetry) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst hookResult = await hook({\n\t\t\t\t\trequest: this.request,\n\t\t\t\t\toptions: (this._options as unknown) as NormalizedOptions,\n\t\t\t\t\terror: error as Error,\n\t\t\t\t\tretryCount: this._retryCount,\n\t\t\t\t});\n\n\t\t\t\t// If `stop` is returned from the hook, the retry process is stopped\n\t\t\t\tif (hookResult === stop) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this._retry(function_);\n\t\t}\n\t}\n\n\tprotected async _fetch(): Promise<Response> {\n\t\tfor (const hook of this._options.hooks.beforeRequest) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst result = await hook(this.request, (this._options as unknown) as NormalizedOptions);\n\n\t\t\tif (result instanceof Request) {\n\t\t\t\tthis.request = result;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (result instanceof Response) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\n\t\tconst nonRequestOptions = findUnknownOptions(this.request, this._options);\n\n\t\t// Cloning is done here to prepare in advance for retries\n\t\tconst mainRequest = this.request;\n\t\tthis.request = mainRequest.clone();\n\n\t\tif (this._options.timeout === false) {\n\t\t\treturn this._options.fetch(mainRequest, nonRequestOptions);\n\t\t}\n\n\t\treturn timeout(mainRequest, nonRequestOptions, this.abortController, this._options as TimeoutOptions);\n\t}\n}\n","/*! MIT License © Sindre Sorhus */\n\nimport {Ky} from './core/Ky.js';\nimport {requestMethods, stop} from './core/constants.js';\nimport type {KyInstance} from './types/ky.js';\nimport type {Input, Options} from './types/options.js';\nimport {validateAndMerge} from './utils/merge.js';\nimport {type Mutable} from './utils/types.js';\n\nconst createInstance = (defaults?: Partial<Options>): KyInstance => {\n\t// eslint-disable-next-line @typescript-eslint/promise-function-async\n\tconst ky: Partial<Mutable<KyInstance>> = (input: Input, options?: Options) => Ky.create(input, validateAndMerge(defaults, options));\n\n\tfor (const method of requestMethods) {\n\t\t// eslint-disable-next-line @typescript-eslint/promise-function-async\n\t\tky[method] = (input: Input, options?: Options) => Ky.create(input, validateAndMerge(defaults, options, {method}));\n\t}\n\n\tky.create = (newDefaults?: Partial<Options>) => createInstance(validateAndMerge(newDefaults));\n\tky.extend = (newDefaults?: Partial<Options> | ((parentDefaults: Partial<Options>) => Partial<Options>)) => {\n\t\tif (typeof newDefaults === 'function') {\n\t\t\tnewDefaults = newDefaults(defaults ?? {});\n\t\t}\n\n\t\treturn createInstance(validateAndMerge(defaults, newDefaults));\n\t};\n\n\tky.stop = stop;\n\n\treturn ky as KyInstance;\n};\n\nconst ky = createInstance();\n\nexport default ky;\n\nexport type {KyInstance} from './types/ky.js';\n\nexport type {\n\tInput,\n\tOptions,\n\tNormalizedOptions,\n\tRetryOptions,\n\tSearchParamsOption,\n\tProgress,\n} from './types/options.js';\n\nexport type {\n\tHooks,\n\tBeforeRequestHook,\n\tBeforeRetryHook,\n\tBeforeRetryState,\n\tBeforeErrorHook,\n\tAfterResponseHook,\n} from './types/hooks.js';\n\nexport type {ResponsePromise} from './types/ResponsePromise.js';\nexport type {KyRequest} from './types/request.js';\nexport type {KyResponse} from './types/response.js';\nexport {HTTPError} from './errors/HTTPError.js';\nexport {TimeoutError} from './errors/TimeoutError.js';\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { notification } from 'antd'\nimport ky, { type KyInstance, type Options as KyOptions } from 'ky'\nimport { useCallback, useMemo } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\n\n// 响应成功状态码常量\nconst SUCCESS_RESPONSE_CODES = [0, 1, 200] as const\n\n// HTTP 状态码常量\nconst HTTP_STATUS = {\n OK: 200,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n UNREGISTERED: 412,\n} as const\n\n// 请求超时时间(毫秒)\nconst REQUEST_TIMEOUT = 30000\n\n// 成功响应状态码字段类型\ntype StatusField = 'code' | 'status' | 'errno'\n\n// 状态码检查配置\ninterface StatusCheckConfig {\n field: StatusField\n value: unknown\n allowedCodes: readonly number[]\n}\n\n// 响应类型枚举\nexport enum ResponseType {\n JSON = 'json',\n BLOB = 'blob',\n TEXT = 'text',\n ARRAY_BUFFER = 'arrayBuffer',\n FORM_DATA = 'formData',\n}\n\n// 通用请求选项接口\ninterface RequestOptions extends KyOptions {\n responseType?: ResponseType\n}\n\n// HTTP客户端方法接口 - 支持泛型响应类型\ninterface KyMethods {\n get: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n post: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n put: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n delete: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n patch: <T = any>(url: string, data?: any, options?: RequestOptions) => Promise<T>\n options: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n head: <T = any>(url: string, options?: RequestOptions) => Promise<T>\n request: <T = any>(options: RequestOptions & { url: string }) => Promise<T>\n instance: KyInstance\n}\n\n// 错误消息提取工具函数\nconst extractErrorMessage = (data: any): string => {\n if (!data || typeof data !== 'object') {\n return 'Unknown error'\n }\n\n return data.msg || data.message || data.error || 'Unknown error'\n}\n\n/**\n * 检查单个状态码字段是否成功\n * @param config 状态码检查配置\n * @returns 是否成功\n */\nconst isStatusCodeSuccess = (config: StatusCheckConfig): boolean => {\n const { value, allowedCodes } = config\n\n if (value === undefined || value === null) {\n return false\n }\n\n if (typeof value !== 'number') {\n return false\n }\n\n return allowedCodes.includes(value)\n}\n\n/**\n * 判断响应是否成功\n * @param data 响应数据\n * @param status HTTP状态码\n * @returns 是否成功\n */\nconst isSuccessResponse = (data: any, status: number): boolean => {\n // HTTP 状态码 2xx 范围认为成功\n if (status >= HTTP_STATUS.OK && status < 300) {\n return true\n }\n\n if (!data || typeof data !== 'object') {\n return false\n }\n\n // 定义状态码检查配置\n const statusChecks: StatusCheckConfig[] = [\n { field: 'code', value: data.code, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'status', value: data.status, allowedCodes: SUCCESS_RESPONSE_CODES },\n { field: 'errno', value: data.errno, allowedCodes: SUCCESS_RESPONSE_CODES },\n ]\n\n // 检查任一状态码字段是否成功\n return statusChecks.some(isStatusCodeSuccess)\n}\n\n/**\n * 根据响应类型处理响应数据\n * @param response 响应对象\n * @param responseType 响应类型\n * @returns 处理后的响应数据\n */\nconst processResponseByType = async (response: Response, responseType?: ResponseType): Promise<any> => {\n switch (responseType) {\n case ResponseType.BLOB:\n return response.blob()\n case ResponseType.TEXT:\n return response.text()\n case ResponseType.ARRAY_BUFFER:\n return response.arrayBuffer()\n case ResponseType.FORM_DATA:\n return response.formData()\n case ResponseType.JSON:\n default:\n return response.json()\n }\n}\n\n/**\n * 创建响应处理函数\n * @param responseType 响应类型\n * @returns 响应处理函数\n */\nconst createResponseHandler = (responseType?: ResponseType) => {\n return async (_request: any, _options: any, response: Response): Promise<Response> => {\n const contentType = response.headers.get('content-type') || ''\n\n // 处理二进制类型响应(blob、arrayBuffer等)\n if (responseType === ResponseType.BLOB || responseType === ResponseType.ARRAY_BUFFER) {\n return response\n }\n\n // 处理文本类型响应\n if (responseType === ResponseType.TEXT) {\n return response\n }\n\n // 处理表单数据响应\n if (responseType === ResponseType.FORM_DATA) {\n return response\n }\n\n // 处理 JSON 响应\n if (contentType.includes('application/json') || responseType === ResponseType.JSON) {\n const data: any = await response.json()\n\n if (isSuccessResponse(data, response.status)) {\n // 创建新的 Response 对象,返回 data 字段或整个响应数据\n const responseData = data.data !== undefined ? data.data : data\n return new Response(JSON.stringify(responseData), {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n })\n }\n\n // 提取错误信息,支持多种错误消息字段\n const errorMessage = extractErrorMessage(data)\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n\n // 抛出错误,包含原始数据\n const error = new Error(errorMessage)\n ;(error as any).response = response\n ;(error as any).data = data\n throw error\n }\n\n return response\n }\n}\n\n/**\n * HTTP客户端Hook (基于 Ky) - 内部使用版本\n * @param baseURL 可选的基础URL\n * @returns HTTP客户端方法集合\n */\nexport const useKy = (baseURL?: string): KyMethods => {\n // 获取工具包状态\n const toolkitsStore = useToolkitsStore()\n const { token, isGlobal, gameId, permissionVersion, signInPath, clearToken, setUnregistered } = toolkitsStore\n\n // 处理未授权错误\n const handleUnauthorized = useCallback(() => {\n clearToken()\n if (signInPath) {\n window.location.href = signInPath\n }\n }, [clearToken, signInPath])\n\n // 处理未注册错误\n const handleUnregistered = useCallback(() => {\n clearToken()\n setUnregistered()\n if (signInPath) {\n window.location.href = signInPath\n }\n }, [clearToken, setUnregistered, signInPath])\n\n // 处理禁止访问错误\n const handleForbidden = useCallback(() => {\n notification.error({\n message: '访问被禁止',\n description: '您没有权限访问此资源。',\n })\n }, [])\n\n // 处理HTTP状态码错误\n const handleHttpStatusError = useCallback(\n (status: number, data: any) => {\n switch (status) {\n case HTTP_STATUS.UNAUTHORIZED:\n handleUnauthorized()\n break\n\n case HTTP_STATUS.UNREGISTERED:\n handleUnregistered()\n break\n\n case HTTP_STATUS.FORBIDDEN:\n handleForbidden()\n break\n\n default: {\n // 安全地提取错误消息\n const errorMessage = extractErrorMessage(data) || `HTTP ${status} Error`\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n break\n }\n }\n },\n [handleUnauthorized, handleUnregistered, handleForbidden],\n )\n\n // 创建ky实例\n const instance = useMemo(() => {\n const kyInstance = ky.create({\n prefixUrl: baseURL,\n timeout: REQUEST_TIMEOUT,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n hooks: {\n beforeRequest: [\n request => {\n // 设置认证 headers\n if (token) {\n request.headers.set('Authorization', `Bearer ${token}`)\n }\n\n // 设置应用 ID headers\n if (!request.headers.has(APP_ID_HEADER) && permissionVersion !== PermissionVersion.V1) {\n if (isGlobal || !gameId) {\n request.headers.set(APP_ID_HEADER, 'global')\n } else {\n // 对 gameId 进行 URL 编码以避免非 ASCII 字符导致的 XMLHttpRequest 错误\n request.headers.set(APP_ID_HEADER, encodeURIComponent(String(gameId)))\n }\n }\n },\n ],\n afterResponse: [\n async (_request, _options, response) => {\n const contentType = response.headers.get('content-type') || ''\n\n // 处理 Blob 类型响应\n if (contentType.includes('application/octet-stream')) {\n return response\n }\n\n // 处理 JSON 响应\n if (contentType.includes('application/json')) {\n const data: any = await response.json()\n\n if (isSuccessResponse(data, response.status)) {\n return new Response(JSON.stringify(data), {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n })\n }\n\n // 提取错误信息,支持多种错误消息字段\n const errorMessage = extractErrorMessage(data)\n notification.error({\n message: 'Request failed',\n description: errorMessage,\n })\n\n // 抛出错误,包含原始数据\n const error = new Error(errorMessage)\n ;(error as any).response = response\n ;(error as any).data = data\n throw error\n }\n\n return response\n },\n ],\n beforeError: [\n async error => {\n const { response } = error\n\n if (response) {\n const status = response.status\n let data: any\n\n try {\n const contentType = response.headers.get('content-type') || ''\n if (contentType.includes('application/json')) {\n data = await response.json()\n }\n } catch {\n // 忽略 JSON 解析错误\n }\n\n handleHttpStatusError(status, data)\n } else {\n // 网络错误或请求超时等情况\n notification.error({\n message: 'Network Error',\n description: error.message || 'Network request failed',\n })\n }\n\n return error\n },\n ],\n },\n })\n\n return kyInstance\n }, [baseURL, token, isGlobal, gameId, permissionVersion, handleHttpStatusError])\n\n // 通用请求处理函数\n const makeRequest = useCallback(\n async <T = any>(method: string, url: string, data?: any, requestOptions?: RequestOptions): Promise<T> => {\n const { responseType, ...kyOptions } = requestOptions || {}\n\n // 创建带有响应类型处理器的请求选项\n const finalOptions: KyOptions = {\n ...kyOptions,\n hooks: {\n ...kyOptions.hooks,\n afterResponse: [...(kyOptions.hooks?.afterResponse || []), createResponseHandler(responseType)],\n },\n }\n\n let response: Response\n\n if (data) {\n response = await instance(url, { method, json: data, ...finalOptions })\n } else {\n response = await instance(url, { method, ...finalOptions })\n }\n\n // 根据响应类型返回相应数据\n return processResponseByType(response, responseType)\n },\n [instance],\n )\n\n // HTTP方法\n const get = useCallback(\n <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('GET', url, undefined, options)\n },\n [makeRequest],\n )\n\n const post = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('POST', url, data, options)\n },\n [makeRequest],\n )\n\n const put = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PUT', url, data, options)\n },\n [makeRequest],\n )\n\n const del = useCallback(\n <T = any>(url: string, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('DELETE', url, undefined, options)\n },\n [makeRequest],\n )\n\n const patch = useCallback(\n <T = any>(url: string, data?: any, options?: RequestOptions): Promise<T> => {\n return makeRequest<T>('PATCH', url, data, options)\n },\n [makeRequest],\n )\n\n const options = useCallback(\n <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('OPTIONS', url, undefined, requestOptions)\n },\n [makeRequest],\n )\n\n const head = useCallback(\n <T = any>(url: string, requestOptions?: RequestOptions): Promise<T> => {\n return makeRequest<T>('HEAD', url, undefined, requestOptions)\n },\n [makeRequest],\n )\n\n const request = useCallback(\n <T = any>(requestOptions: RequestOptions & { url: string }): Promise<T> => {\n const { url, ...requestOpts } = requestOptions\n return makeRequest<T>(requestOpts.method || 'GET', url, undefined, requestOpts)\n },\n [makeRequest],\n )\n\n return useMemo(\n () => ({\n get,\n post,\n put,\n delete: del,\n patch,\n options,\n head,\n request,\n instance,\n }),\n [get, post, put, del, patch, options, head, request, instance],\n )\n}\n","export { useKy } from './use-ky'\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { serialize, OBJECT, SWRConfig as SWRConfig$1, defaultConfig, withArgs, SWRGlobalState, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects } from 'swr/_internal';\nexport { mutate, preload, useSWRConfig } from 'swr/_internal';\n\nconst unstable_serialize = (key)=>serialize(key)[0];\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nconst SWRConfig = OBJECT.defineProperty(SWRConfig$1, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nexport { SWRConfig, useSWR as default, unstable_serialize };\n","import type { Options as KyOptions } from 'ky'\nimport type { SWRResponse } from 'swr'\nimport useSWR from 'swr'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants/index'\nimport { useKy } from '@/libs'\nimport type { MenuListItem } from '@/types'\n\nexport function usePermission(code?: string, config?: KyOptions): SWRResponse<boolean>\nexport function usePermission(code?: string[], config?: KyOptions): SWRResponse<Record<string, boolean>>\nexport function usePermission(\n code?: string | string[],\n config?: Omit<KyOptions, 'json' | 'method'>,\n): SWRResponse<boolean> | SWRResponse<Record<string, boolean>> {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const url = permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check'\n const permissionCodes = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n\n const { data, ...rest } = useSWR(\n permissionCodes.length > 0\n ? [\n url,\n {\n json: { permissions: permissionCodes },\n ...config,\n },\n ]\n : null,\n args => ky.post<Record<string, boolean> & { has_all?: boolean }>(...args),\n )\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n } as SWRResponse<boolean> | SWRResponse<Record<string, boolean>>\n}\n\nexport function useMenuList() {\n const { signInPath, gameId } = useToolkitsStore()\n const ky = useKy()\n return useSWR(\n window.location.pathname !== signInPath\n ? {\n url: '/api/usystem/menu/navbar',\n headers: { [APP_ID_HEADER]: gameId ? encodeURIComponent(String(gameId)) : 'global' },\n }\n : null,\n ({ url, headers }) => ky.get<MenuListItem[]>(url, { headers }),\n )\n}\n","import 'client-only';\nimport ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT, SWRConfig, defaultConfig, withArgs, SWRGlobalState, serialize, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects, withMiddleware } from 'swr/_internal';\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nOBJECT.defineProperty(SWRConfig, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nconst immutable = (useSWRNext)=>(key, fetcher, config)=>{\n // Always override all revalidate options.\n config.revalidateOnFocus = false;\n config.revalidateIfStale = false;\n config.revalidateOnReconnect = false;\n return useSWRNext(key, fetcher, config);\n };\nconst useSWRImmutable = withMiddleware(useSWR, immutable);\n\nexport { useSWRImmutable as default, immutable };\n","import useSWRImmutable from 'swr/immutable'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\n\nimport type { Game } from './types'\n\nexport const useGames = () => {\n const { gameApiV2, permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n const key =\n permissionVersion !== PermissionVersion.V1 ? (gameApiV2 ? '/api/game/list' : '/api/usystem/game/all') : null\n\n return useSWRImmutable(key, async (url: string) => {\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (gameApiV2) {\n const response = await ky.get<{ list: Game[] }>(url, requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>(url, requestConfig)\n return response ?? []\n })\n}\n\nexport const useFindGame = (id: string | number) => {\n const { data } = useGames()\n const { gameApiV2 } = useToolkitsStore(s => s)\n return data?.find((item: Game) => String(gameApiV2 ? item.game_id : item.id) === String(id))\n}\n","import type { DetailedHTMLProps, FC, ImgHTMLAttributes } from 'react'\n\nimport logoUrl from './logo.png'\n\nexport type LogoProps = Omit<DetailedHTMLProps<ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, 'src' | 'alt'>\n\nconst Logo: FC<LogoProps> = props => {\n return <img src={logoUrl} alt=\"logo\" {...props} />\n}\n\nexport default Logo\n","export type { LogoProps } from './Logo'\nexport { default as Logo } from './Logo'\n","import { create } from 'zustand'\nimport { createJSONStorage, persist } from 'zustand/middleware'\n\nexport interface NavState {\n openKeys: string[]\n selectedKeys: string[]\n setOpenKeys: (keys: string[]) => void\n setSelectedKeys: (keys: string[]) => void\n}\n\nexport const useNavStore = create<NavState>()(\n persist(\n set => ({\n openKeys: [],\n setOpenKeys: keys => set({ openKeys: keys }),\n selectedKeys: [],\n setSelectedKeys: keys => set({ selectedKeys: keys }),\n }),\n {\n name: 'nav',\n storage: createJSONStorage(() => localStorage),\n partialize: state => ({\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n }),\n },\n ),\n)\n","import type { ItemType, MenuDividerType } from 'antd/es/menu/interface'\nimport { Link } from 'react-router-dom'\nimport type { Merge } from 'ts-essentials'\n\nimport type { MenuItemGroupType2, MenuItemType2, NavMenuItem, SubMenuType2 } from './types'\n\n// 将自定义的菜单配置转换为 antd 的菜单配置,添加 react-router-dom Link 等。\nexport function transformItems(items?: NavMenuItem[]) {\n const result: ItemType[] = []\n\n if (items) {\n for (let i = 0; i < items.length; i++) {\n if (items[i] === null || (items[i] as MenuDividerType).type === 'divider') {\n result[i] = items[i] as null | MenuDividerType\n } else if ((items[i] as SubMenuType2 | MenuItemGroupType2).children) {\n const { children, ...rest } = items[i] as SubMenuType2 | MenuItemGroupType2\n result[i] = {\n ...rest,\n children: transformItems(children),\n }\n } else {\n const { route, label, ...rest } = items[i] as MenuItemType2\n const labelNode = route ? <Link to={route}>{label}</Link> : label\n\n result[i] = {\n ...rest,\n label: labelNode,\n }\n }\n }\n }\n\n return result\n}\n\n// 拍平导航配置,并且注入 keypath 字段\nexport function flatItems(\n items: NavMenuItem[],\n result: Merge<MenuItemType2, { keypath?: string[] }>[] = [],\n keypath: string[] = [],\n) {\n for (const item of items) {\n const children = (item as SubMenuType2 | MenuItemGroupType2)?.children as NavMenuItem[]\n\n if (Array.isArray(children)) {\n const keys =\n (item as MenuItemGroupType2).type !== 'group' && item!.key ? [...keypath, item!.key as string] : keypath\n flatItems(children, result, keys)\n } else if (item) {\n result.push(Object.assign(item as MenuItemType2, { keypath }))\n }\n }\n\n return result\n}\n","import type { MenuProps } from 'antd'\nimport { Menu, Spin } from 'antd'\nimport { memo, useCallback, useEffect, useMemo } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nimport { useNavStore } from './stores'\nimport type { NavMenuItem } from './types'\nimport { flatItems, transformItems } from './utils'\n\nexport interface NavMenuProps {\n items?: NavMenuItem[]\n theme?: MenuProps['theme']\n loading?: boolean\n}\n\nconst NavMenu = memo(function NavMenu(props: NavMenuProps) {\n const { items, theme, loading } = props\n const location = useLocation()\n const flattenItems = useMemo(() => flatItems(items ?? []), [items])\n const internalItems = useMemo(() => transformItems(items ?? []), [items])\n const { openKeys, selectedKeys, setOpenKeys, setSelectedKeys } = useNavStore()\n\n const onOpenChange = useCallback(\n (keys: string[]) => {\n const lastOpenKey = keys?.find(key => openKeys?.indexOf(key) === -1)\n const match = flattenItems.find(item => lastOpenKey === item.key)\n setOpenKeys((match?.keypath ?? [lastOpenKey]) as string[])\n },\n [flattenItems, openKeys, setOpenKeys],\n )\n\n useEffect(() => {\n const match = flattenItems.find(item => location.pathname === item.route)\n\n if (match) {\n const key = match.key as string\n const keypath = match.keypath as string[]\n setSelectedKeys([key])\n setOpenKeys(keypath)\n }\n }, [flattenItems, location])\n\n if (loading) {\n return (\n <div className=\"flex justify-center items-center\" style={{ height: 'calc(100vh - 64px)' }}>\n <Spin />\n </div>\n )\n }\n\n return (\n <Menu\n theme={theme}\n style={{ borderRight: 'none' }}\n items={internalItems}\n mode=\"inline\"\n openKeys={openKeys}\n selectedKeys={selectedKeys}\n onOpenChange={onOpenChange}\n />\n )\n})\n\nif (process.env.NODE_ENV === 'development') {\n NavMenu.displayName = 'NavMenu'\n}\n\nexport default NavMenu\n","export { default as NavMenu } from './NavMenu'\nexport type { NavMenuItem } from './types'\n","import * as Antd from 'antd'\nimport { Empty } from 'antd'\nimport type { FC, PropsWithChildren } from 'react'\nimport { Fragment } from 'react'\n\nimport { useGames } from '@/components/layout'\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\n\nconst { Spin } = Antd\n\nconst RequireGame: FC<PropsWithChildren> = ({ children }) => {\n const { permissionVersion, gameId, isGlobal } = useToolkitsStore(s => s)\n const { isLoading } = useGames()\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 400,\n }}\n >\n <Spin />\n </div>\n )\n }\n\n if (permissionVersion === PermissionVersion.V1 || isGlobal) {\n return children\n }\n\n if (!gameId) {\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={t('RequireGame.description')} />\n }\n\n return <Fragment key={gameId}>{children}</Fragment>\n}\n\nexport default RequireGame\n","export { default as RequireGame } from './RequireGame'\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport { LogoutOutlined, UserOutlined } from '@ant-design/icons'\nimport type { MenuProps } from 'antd'\nimport { Dropdown, Space } from 'antd'\nimport type { FC, KeyboardEvent } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\n\nconst UserWidget: FC = () => {\n const { t } = useTranslation()\n const navigate = useNavigate()\n const { clearToken, getUser, signInPath } = useToolkitsStore(s => s)\n const user = getUser()\n\n const handleSignOut = () => {\n clearToken()\n navigate(signInPath)\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleSignOut()\n }\n }\n\n const handleDropdownKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }\n\n const items: MenuProps['items'] = [\n {\n key: '1',\n icon: <LogoutOutlined />,\n label: (\n <a role=\"button\" tabIndex={0} onClick={handleSignOut} onKeyDown={handleKeyDown}>\n {t('UserWidget.signOutText')}\n </a>\n ),\n },\n ]\n\n return (\n <div>\n <Dropdown\n menu={{\n selectable: true,\n items,\n }}\n placement=\"bottomRight\"\n >\n <a\n role=\"button\"\n tabIndex={0}\n onClick={e => {\n e.preventDefault()\n }}\n onKeyDown={handleDropdownKeyDown}\n >\n <Space align=\"center\">\n <span>{user?.authorityId}</span>\n <UserOutlined style={{ fontSize: '16px' }} />\n </Space>\n </a>\n </Dropdown>\n </div>\n )\n}\n\nexport default UserWidget\n","export { default as UserWidget } from './UserWidget'\n","import type { SelectProps } from 'antd'\nimport { Select, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect } from 'react'\nimport { useSWRConfig } from 'swr'\n\nimport { useTranslation } from '@/components/locale'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\n\nimport { useGames } from './hooks'\nimport type { Game } from './types'\n\nconst { Text } = Typography\n\nexport interface GameSelectProps {\n filter?: (game: Game) => boolean\n options?: (data?: Game[]) => SelectProps['options']\n}\n\nconst GameSelect: FC<GameSelectProps> = props => {\n const { filter, options } = props\n const { t } = useTranslation()\n const { gameApiV2, gameId, setGameId } = useToolkitsStore(s => s)\n const { data, isLoading } = useGames()\n const { cache } = useSWRConfig()\n\n const filteredData = data?.filter(item => filter?.(item) ?? true)\n\n const _options =\n typeof options === 'function'\n ? options(filteredData)\n : filteredData?.map(item => ({\n label: item.name,\n value: gameApiV2 ? item.game_id : item.id,\n }))\n\n // 切换游戏时清空 swr 缓存触发重新请求以更新视图。\n const onChange = (value: string | number) => {\n clearCache()\n setGameId(value)\n }\n\n const clearCache = () => {\n for (const key of cache.keys()) {\n if (key !== '/api/game/list' && key !== '/api/usystem/game/all') {\n cache.delete(key)\n }\n }\n }\n\n useEffect(() => {\n if (data && data.length > 0) {\n const firstId = gameApiV2 ? data[0].game_id : data[0].id\n if (data.every(item => String(item.game_id || item.id) !== String(gameId))) {\n // 如果当前游戏 ID 不在数据中,则设置为第一个游戏 ID\n setGameId(firstId)\n }\n }\n }, [data])\n\n return (\n <Space>\n <Text>{t('GameSelect.label')}</Text>\n <Select<string | number>\n showSearch\n optionFilterProp=\"label\"\n value={gameId}\n placeholder={t('GameSelect.placeholder')}\n loading={isLoading}\n style={{ width: '200px' }}\n options={_options}\n onChange={onChange}\n />\n </Space>\n )\n}\n\nexport default GameSelect\n","import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons'\nimport { Button, Divider, Space } from 'antd'\nimport * as Antd from 'antd'\nimport type { FC, Key, PropsWithChildren, ReactNode } from 'react'\nimport { Suspense, useState } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { Logo } from '@/components/logo'\nimport type { NavMenuItem } from '@/components/navMenu'\nimport { NavMenu } from '@/components/navMenu'\nimport { RequireGame } from '@/components/requireGame'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { UserWidget } from '@/components/userWidget'\nimport { PermissionVersion } from '@/constants'\n\nimport type { GameSelectProps } from './GameSelect'\nimport GameSelect from './GameSelect'\n\nconst { Spin, theme } = Antd\nconst { Header, Sider, Content } = Antd.Layout\n\ntype HeaderExtra = { key: Key; children: ReactNode }\n\nexport interface LayoutProps extends Pick<GameSelectProps, 'filter'> {\n collapsible?: boolean\n isMenuLoading?: boolean\n items?: NavMenuItem[]\n navWidth?: string | number\n gameSelectOptions?: GameSelectProps['options']\n headerExtra?: {\n left?: HeaderExtra[]\n right?: HeaderExtra[]\n }\n}\n\nconst Layout: FC<PropsWithChildren<LayoutProps>> = props => {\n const { collapsible, isMenuLoading, items, headerExtra, children, navWidth, filter, gameSelectOptions } = props\n const {\n token: { colorBgContainer, colorBorder },\n } = theme.useToken()\n const {\n permissionVersion,\n title: { text, fontSize },\n navWidth: globalNavWidth,\n collapsible: globalCollapsible,\n mainPagePath,\n collapsed,\n setContext,\n isGlobal,\n } = useToolkitsStore()\n\n const [internalCollapsed, setInternalCollapsed] = useState(collapsed)\n\n const onCollapse = async () => {\n setInternalCollapsed(!internalCollapsed)\n setContext({ collapsed: !internalCollapsed })\n }\n\n const internalCollapsible = collapsible ?? globalCollapsible ?? false\n\n return (\n <Antd.Layout>\n <Sider\n collapsible={internalCollapsible}\n theme=\"light\"\n trigger={null}\n collapsed={internalCollapsed}\n width={navWidth ?? globalNavWidth}\n style={{\n height: '100vh',\n overflowX: 'hidden',\n overflowY: 'auto',\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colorBorder,\n }}\n >\n <Link to={mainPagePath}>\n <div className=\"flex px-6 py-4 font-bold\">\n <Logo width={32} height={32} />\n <div\n className={`h-8 flex items-center ml-2 collapse-text ${internalCollapsed ? 'opacity-0' : 'animate__fadeIn delay-200'} `}\n style={{ fontSize }}\n >\n {text}\n </div>\n </div>\n </Link>\n <NavMenu items={items} loading={isMenuLoading} />\n </Sider>\n <Antd.Layout>\n <Header\n style={{\n padding: '0 24px',\n background: colorBgContainer,\n }}\n >\n <div className=\"flex justify-between items-center h-full\">\n <Space size=\"small\" split={<Divider type=\"vertical\" />} className=\"mr-6\">\n {internalCollapsible && (\n <Button\n type=\"text\"\n icon={internalCollapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}\n style={{ fontSize: '16px' }}\n onClick={onCollapse}\n />\n )}\n {permissionVersion !== PermissionVersion.V1 && !isGlobal && (\n <GameSelect filter={filter} options={gameSelectOptions} />\n )}\n {headerExtra?.left?.map(extra => <span key={extra.key}>{extra.children}</span>)}\n </Space>\n <Space size=\"small\" split={<Divider type=\"vertical\" />}>\n {headerExtra?.right?.map(extra => <span key={extra.key}>{extra.children}</span>)}\n <UserWidget />\n </Space>\n </div>\n </Header>\n <Content\n style={{\n overflow: 'auto',\n padding: '24px 16px',\n maxHeight: 'calc(100vh - 64px)',\n }}\n >\n <Suspense\n fallback={\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: '200px',\n }}\n />\n }\n >\n <RequireGame>{children}</RequireGame>\n </Suspense>\n </Content>\n </Antd.Layout>\n </Antd.Layout>\n )\n}\n\nexport default Layout\n","type Area = 'all' | 'cn' | 'global'\n\ntype ScreenOrientation = 0 | 1 // 0:横屏 1:竖屏\n\nexport interface Game {\n id: number\n game_id: string | number\n game_group: string\n name: string\n screen_type: ScreenOrientation\n area: Area\n icon: string\n auth: string\n ctime: string\n mtime: string\n is_delete: 0 | 1\n is_new_game: 0 | 1\n server_type: string\n}\n","export * from './hooks'\nexport { default as Layout, type LayoutProps } from './Layout'\nexport * from './types'\n","import { create } from 'zustand'\n\ninterface ModalState {\n open: Map<number, boolean>\n isOpen: (uuid: number) => boolean\n show: (uuid: number) => void\n hide: (uuid: number) => void\n hideAll: () => void\n}\n\nexport const useModalStore = create<ModalState>((set, get) => ({\n open: new Map(),\n isOpen: uuid => get().open.get(uuid) ?? false,\n show(uuid) {\n set({ open: new Map(get().open).set(uuid, true) })\n },\n hide(uuid) {\n set({ open: new Map(get().open).set(uuid, false) })\n },\n hideAll() {\n set({ open: new Map() })\n },\n}))\n","import type { ModalProps } from 'antd'\nimport { Modal } from 'antd'\nimport { type ReactNode, useCallback, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useModalStore } from './stores'\n\nexport interface UseModalOperation {\n hide: () => void\n}\n\nexport interface UseModalProps extends Omit<ModalProps, 'open' | 'confirmLoading' | 'onOk' | 'onCancel'> {\n content?: ReactNode | ((operation: UseModalOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n}\n\nexport function useModal(props: UseModalProps) {\n const { content, onConfirm, afterOpen, ...modalProps } = props\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen } = useModalStore()\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onCancel: ModalProps['onCancel'] = useCallback(() => {\n _hide()\n }, [_hide])\n\n const onOk = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n _hide()\n } catch (error) {\n console.error('Modal confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm, _hide])\n\n const internalModal = (\n <Modal {...modalProps} open={open} confirmLoading={confirmLoading} onOk={onOk} onCancel={onCancel}>\n {isRenderFunction ? content({ hide: _hide }) : content}\n </Modal>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n modal: internalModal,\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useModal, type UseModalOperation, type UseModalProps } from './modal'\n\nexport interface UseFormModalProps<Values extends AnyObject = AnyObject, ExtraValues = any>\n extends Omit<UseModalProps, 'afterClose' | 'onConfirm' | 'content'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseModalOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n}\n\nexport function useFormModal<Values extends AnyObject = AnyObject, ExtraValues = any>(\n props: UseFormModalProps<Values, ExtraValues>,\n) {\n const { content, form, formProps, onConfirm, onSuccess, ...modalProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n let [internalForm] = Form.useForm<Values>()\n internalForm = form || internalForm\n\n const isRenderFunction = typeof content === 'function'\n\n const afterClose = useCallback(() => {\n internalForm.resetFields()\n }, [internalForm])\n\n const { id, show, hide, modal } = useModal({\n ...modalProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? content(internalExtraValues, operation) : content}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose,\n })\n\n const onShow = useCallback(\n (options?: { initialValues?: RecursivePartial<Values>; extraValues?: ExtraValues }) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: onShow,\n hide,\n modal,\n }\n}\n","export { useFormModal, type UseFormModalProps } from './formModal'\nexport { useModal } from './modal'\nexport { useModalStore } from './stores'\n","import type { ButtonProps } from 'antd'\nimport { Button, Tooltip } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { usePermission } from '@/services'\n\nexport interface PermissionButtonProps extends ButtonProps {\n code?: string | string[]\n showLoading?: boolean\n config?: KyOptions\n}\n\nconst PermissionButton: FC<PropsWithChildren<PermissionButtonProps>> = props => {\n const { children, code, showLoading, disabled, config, ...restProps } = props\n const codes = code ? (Array.isArray(code) ? code : [code]) : []\n const { data, isLoading } = usePermission(codes, config)\n const { t } = useTranslation()\n\n if (isLoading) {\n return (\n <Button loading={showLoading} disabled={!showLoading} {...restProps}>\n {children}\n </Button>\n )\n }\n\n // 只要有一个权限即可\n if (typeof data === 'boolean' || (data && Object.values(data).some(Boolean))) {\n return (\n <Button disabled={disabled} {...restProps}>\n {children}\n </Button>\n )\n }\n\n return (\n <Tooltip defaultOpen={false} title={t('global.noEntitlement')}>\n <Button disabled {...restProps}>\n {children}\n </Button>\n </Tooltip>\n )\n}\n\nexport default PermissionButton\n","export type { PermissionButtonProps } from './PermissionButton'\nexport { default as PermissionButton } from './PermissionButton'\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isEqual } from 'lodash-es'\nimport type { MutatorCallback, MutatorOptions } from 'swr'\nimport { mutate } from 'swr'\nimport { create } from 'zustand'\n\nimport type { QueryListPayload } from './QueryList'\n\ninterface QueryListMutator {\n <Data = any, MutationData = Data>(\n key: string,\n data?: MutationData | Promise<MutationData> | MutatorCallback<MutationData>,\n opts?: boolean | MutatorOptions<Data, MutationData>,\n ): Promise<Array<MutationData | undefined>>\n <Data = any, MutationData = Data>(\n key: string,\n data?: MutationData | Promise<MutationData> | MutatorCallback<MutationData>,\n opts?: boolean | MutatorOptions<Data, MutationData>,\n ): Promise<MutationData | undefined>\n}\n\ninterface QueryListState {\n keyMap: Map<string, string | null>\n payloadMap: Map<string, QueryListPayload>\n getPayload(key: string): QueryListPayload\n setPayload(key: string, payload: QueryListPayload): void\n refetch(key: string, payload?: QueryListPayload): void\n mutate: QueryListMutator\n}\n\nexport const useQueryListStore = create<QueryListState>((set, get) => ({\n keyMap: new Map(),\n payloadMap: new Map(),\n getPayload(key) {\n return get().payloadMap.get(key) ?? { page: 1 }\n },\n setPayload(key, payload) {\n set(state => ({\n payloadMap: new Map(state.payloadMap).set(key, payload),\n }))\n },\n refetch(key, payload) {\n const prevPayload = get().getPayload(key)\n const nextPayload = { ...prevPayload, ...payload }\n // FIXME: 后续使用 unstable_serialize 来比较前后的 key,因为仅仅比较 payload 会有问题\n if (isEqual(prevPayload, nextPayload)) {\n get().mutate(key, undefined)\n } else {\n get().setPayload(key, nextPayload)\n }\n },\n mutate(key, data, opts) {\n const swrKey = get().keyMap.get(key)\n return mutate(swrKey, data, opts)\n },\n}))\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance } from 'antd'\nimport { Form, Result, Spin, Table } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { TableProps } from 'antd/es/table'\nimport type { Options as KyOptions } from 'ky'\nimport type { ReactElement, ReactNode, Ref } from 'react'\nimport { cloneElement, forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'\nimport useSWR, { unstable_serialize } from 'swr'\n\nimport type { FilterFormWrapperProps } from '@/components/filterFormWrapper'\nimport { FilterFormWrapper } from '@/components/filterFormWrapper'\nimport { useTranslation } from '@/components/locale'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nimport { useQueryListStore } from './stores'\n\nexport interface ListResponse<T = any> {\n list: T[]\n total: number\n}\n\nexport interface QueryListPayload<Values = any> {\n page?: number\n size?: number\n formValue?: Values\n}\n\nexport enum QueryListAction {\n Confirm,\n Reset,\n Jump,\n Init,\n}\n\nexport interface QueryListDataType<Item> {\n dataSource: Item[]\n total: number\n}\n\nexport interface QueryListRef<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any> {\n data: Data | undefined\n dataSource: Item[] | undefined\n form: FormInstance<Values>\n}\n\nexport interface QueryListProps<Item extends AnyObject = AnyObject, Values = AnyObject, Data = any>\n extends Omit<TableProps<Item>, 'pagination' | 'dataSource' | 'loading' | 'footer'>,\n Pick<FilterFormWrapperProps, 'buttonsAlign' | 'showReset'> {\n url: string\n code?: string\n form?: FormInstance<Values>\n method?: 'GET' | 'POST'\n refreshInterval?: number\n onePage?: boolean // 无分页\n defaultSize?: number\n body?:\n | FormData\n | Record<string | number, any>\n | ((payload: QueryListPayload<Values>) => FormData | Record<string | number, any>)\n pageSizeOptions?: number[]\n params?: Record<string | number, any> | ((payload: QueryListPayload<Values>) => Record<string | number, any>)\n tableExtra?: ReactNode | ((form: FormInstance<Values>, data?: Data) => ReactNode)\n headers?: Record<string, string> | ((form: FormInstance<Values>) => Record<string, string>)\n renderForm?: (form: FormInstance<Values>) => ReactElement\n afterSuccess?: (action: QueryListAction, form: FormInstance<Values>, data?: Data) => void\n getTotal?: (data: Data | undefined) => number | undefined\n getDataSource?: (data: Data | undefined, form: FormInstance<Values>) => Item[] | undefined\n footer?: (data: Data | undefined) => ReactNode\n}\n\nconst InternalQueryList = <Item extends AnyObject = AnyObject, Values extends AnyObject = any, Data = any>(\n props: QueryListProps<Item, Values, Data>,\n ref: Ref<QueryListRef<Item, Values, Data>>,\n) => {\n const internalProps = {\n method: 'GET',\n defaultSize: 10,\n refreshInterval: 0,\n getTotal: (data: Data | undefined) => (data as ListResponse<Item>)?.total,\n getDataSource: (data: Data | undefined) => (data as ListResponse<Item>)?.list,\n ...props,\n }\n\n const {\n url,\n code,\n headers,\n onePage,\n method,\n buttonsAlign,\n showReset,\n defaultSize,\n refreshInterval,\n tableExtra,\n form,\n body,\n params,\n renderForm,\n afterSuccess,\n getTotal,\n getDataSource,\n footer,\n pageSizeOptions,\n ...tableProps\n } = internalProps\n\n if (!url) {\n throw new Error('url property is required')\n }\n\n const { t } = useTranslation()\n const [_form] = Form.useForm<Values>(form)\n const action = useRef<QueryListAction>(QueryListAction.Init)\n const { data: accessible, isLoading: isChecking } = usePermission(code)\n const [isValid, setIsValid] = useState(false)\n const { keyMap, getPayload, refetch } = useQueryListStore()\n const ky = useKy()\n\n const { page, size = defaultSize, formValue } = getPayload(url)\n const payload = useMemo(() => ({ page, size, formValue }), [page, size, formValue])\n\n const _body = useMemo(\n () =>\n typeof body === 'function'\n ? body(payload)\n : typeof body === 'undefined'\n ? method === 'POST'\n ? {\n ...formValue,\n page: !onePage ? page : undefined,\n size: !onePage ? size : undefined,\n }\n : undefined\n : body,\n [body, payload, method, formValue, onePage, page, size],\n )\n\n const _params = useMemo(\n () =>\n typeof params === 'function'\n ? params(payload)\n : typeof params === 'undefined'\n ? method === 'GET'\n ? {\n ...formValue,\n page: !onePage ? page : undefined,\n size: !onePage ? size : undefined,\n }\n : undefined\n : params,\n [params, payload, method, formValue, onePage, page, size],\n )\n\n const _headers = useMemo(() => (typeof headers === 'function' ? headers(_form) : headers), [headers, _form])\n\n const shouldPoll = useRef(false)\n\n const requestConfig = useMemo(\n () => ({\n url,\n method,\n body: _body,\n searchParams: _params,\n headers: _headers,\n }),\n [url, method, _body, _params, _headers],\n )\n\n const key = useMemo(() => {\n if (!accessible || !isValid) {\n return null\n }\n\n const serializedKey = unstable_serialize(requestConfig)\n keyMap.set(url, serializedKey)\n return serializedKey\n }, [accessible, isValid, requestConfig, keyMap, url])\n\n const { data, isLoading } = useSWR(\n key,\n async () => {\n const {\n url: requestUrl,\n method: requestMethod,\n body: requestBody,\n searchParams,\n headers: requestHeaders,\n } = requestConfig\n const kyOptions: KyOptions = {\n method: requestMethod as any,\n searchParams,\n headers: requestHeaders,\n }\n\n if (requestBody) {\n if (requestBody instanceof FormData) {\n kyOptions.body = requestBody\n } else {\n kyOptions.json = requestBody\n }\n }\n\n const response = await ky.request<Data>({ url: requestUrl, ...kyOptions })\n return response\n },\n {\n shouldRetryOnError: false,\n revalidateOnFocus: false,\n refreshInterval: shouldPoll.current ? refreshInterval : 0,\n onSuccess(_data) {\n shouldPoll.current = true\n afterSuccess?.(action.current, _form, _data)\n },\n },\n )\n\n const dataSource = getDataSource(data, _form)\n const total = getTotal(data)\n\n const pagination = !onePage && {\n pageSizeOptions,\n showSizeChanger: true,\n showQuickJumper: true,\n current: page,\n pageSize: size,\n total,\n onChange: async (currentPage: number, currentSize: number) => {\n action.current = QueryListAction.Jump\n refetch(url, {\n page: currentPage,\n size: currentSize,\n })\n },\n }\n\n const onConfirm = async () => {\n action.current = QueryListAction.Confirm\n try {\n await _form.validateFields()\n setIsValid(true)\n refetch(url, {\n page: 1,\n formValue: _form.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }\n\n const onReset = async () => {\n action.current = QueryListAction.Reset\n _form.resetFields()\n\n try {\n await _form.validateFields({ validateOnly: true })\n setIsValid(true)\n refetch(url, {\n page: 1,\n formValue: _form.getFieldsValue(),\n })\n } catch {\n setIsValid(false)\n }\n }\n\n useEffect(() => {\n // 表单初始化完成后自动触发查询(如果校验通过)\n const init = async () => {\n if (!accessible) {\n return\n }\n\n try {\n _form.resetFields()\n const value = await _form.validateFields({ validateOnly: true })\n refetch(url, {\n page: 1,\n formValue: value,\n })\n setIsValid(true)\n } catch {\n setIsValid(false)\n }\n }\n\n // FIXME: antd-schema 动态渲染时,需要延迟执行 init,否则会导致表单校验不符合预期。\n setTimeout(() => {\n init()\n }, 300)\n }, [accessible, form, _form, refetch, url])\n\n useImperativeHandle(ref, () => ({\n data,\n dataSource,\n form: _form,\n }))\n\n if (isChecking) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 300,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status={403} subTitle={t('global.noEntitlement')} />\n }\n\n const formRenderer =\n typeof renderForm === 'function' ? (\n <FilterFormWrapper\n showReset={showReset}\n buttonsAlign={buttonsAlign}\n isConfirming={isLoading}\n onReset={onReset}\n onConfirm={onConfirm}\n >\n {cloneElement(renderForm(_form), {\n onKeyUp: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onConfirm()\n }\n },\n })}\n </FilterFormWrapper>\n ) : (\n // 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)\n <Form form={_form} />\n )\n\n const renderFooter = footer && (() => footer(data))\n\n return (\n <div>\n {formRenderer}\n {typeof tableExtra === 'function' ? tableExtra(_form, data) : tableExtra}\n <Table\n {...tableProps}\n dataSource={dataSource}\n loading={isLoading}\n pagination={pagination}\n footer={renderFooter}\n />\n </div>\n )\n}\n\nconst QueryList = forwardRef(InternalQueryList) as <\n Item extends AnyObject = AnyObject,\n Values extends object | undefined = undefined,\n Data = any,\n>(\n props: QueryListProps<Item, Values, Data> & { ref?: Ref<QueryListRef<Item, Values, Data>> },\n) => ReactElement\n\nexport default QueryList\n","export type { QueryListPayload, QueryListProps, QueryListRef } from './QueryList'\nexport { default as QueryList, QueryListAction } from './QueryList'\nexport { useQueryListStore } from './stores'\n","export const url = '/api/usystem/menu/list'\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue, useState } from 'react';\nimport 'client-only';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT, SWRConfig, defaultConfig, withArgs, SWRGlobalState, serialize, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects, withMiddleware, useSWRConfig } from 'swr/_internal';\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nOBJECT.defineProperty(SWRConfig, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nconst startTransition = IS_REACT_LEGACY ? (cb)=>{\n cb();\n} : ReactExports.startTransition;\n/**\n * An implementation of state with dependency-tracking.\n */ const useStateWithDeps = (state)=>{\n const [, rerender] = useState({});\n const unmountedRef = useRef(false);\n const stateRef = useRef(state);\n // If a state property (data, error, or isValidating) is accessed by the render\n // function, we mark the property as a dependency so if it is updated again\n // in the future, we trigger a rerender.\n // This is also known as dependency-tracking.\n const stateDependenciesRef = useRef({\n data: false,\n error: false,\n isValidating: false\n });\n /**\n * @param payload To change stateRef, pass the values explicitly to setState:\n * @example\n * ```js\n * setState({\n * isValidating: false\n * data: newData // set data to newData\n * error: undefined // set error to undefined\n * })\n *\n * setState({\n * isValidating: false\n * data: undefined // set data to undefined\n * error: err // set error to err\n * })\n * ```\n */ const setState = useCallback((payload)=>{\n let shouldRerender = false;\n const currentState = stateRef.current;\n for(const _ in payload){\n const k = _;\n // If the property has changed, update the state and mark rerender as\n // needed.\n if (currentState[k] !== payload[k]) {\n currentState[k] = payload[k];\n // If the property is accessed by the component, a rerender should be\n // triggered.\n if (stateDependenciesRef.current[k]) {\n shouldRerender = true;\n }\n }\n }\n if (shouldRerender && !unmountedRef.current) {\n rerender({});\n }\n }, []);\n useIsomorphicLayoutEffect(()=>{\n unmountedRef.current = false;\n return ()=>{\n unmountedRef.current = true;\n };\n });\n return [\n stateRef,\n stateDependenciesRef.current,\n setState\n ];\n};\n\nconst mutation = ()=>(key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n data,\n isMutating: false,\n error: undefined\n }));\n options.onSuccess == null ? void 0 : options.onSuccess.call(options, data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n startTransition(()=>setState({\n error: error,\n isMutating: false\n }));\n options.onError == null ? void 0 : options.onError.call(options, error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ const useSWRMutation = withMiddleware(useSWR, mutation);\n\nexport { useSWRMutation as default };\n","import useSWRMutation from 'swr/mutation'\n\nimport { useKy } from '@/libs'\nimport type { MenuListItem } from '@/types'\n\nexport function useCreateMenu() {\n const ky = useKy()\n return useSWRMutation('/api/usystem/menu/set', (url, { arg }: { arg: Omit<MenuListItem, 'id'> }) =>\n ky.post(url, { ...arg, id: 0, is_model: true }),\n )\n}\n\nexport function useUpdateMenu() {\n const ky = useKy()\n return useSWRMutation('/api/usystem/menu/set', (url, { arg }: { arg: MenuListItem }) =>\n ky.post(url, { ...arg, is_model: true }),\n )\n}\n\nexport function useRemoveMenu() {\n const ky = useKy()\n return useSWRMutation('/api/usystem/menu/delete', (url, { arg }: { arg: number }) =>\n ky.post(url, null, { searchParams: { id: arg } }),\n )\n}\n","export * from './constants'\nexport * from './hooks'\n","import type { TableColumnsType } from 'antd'\nimport { App, Button, Card, Popconfirm, Space } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { withContext } from '@/components/toolkitsProvider'\nimport { url } from '@/features/menu'\nimport { useRemoveMenu } from '@/features/menu/hooks'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nconst MenuItemList = withContext(\n () => {\n const { t } = useTranslation()\n const { message } = App.useApp()\n const remove = useRemoveMenu()\n const { refetch } = useQueryListStore()\n const { mutate } = useMenuList()\n const navigate = useNavigate()\n\n const columns: TableColumnsType<MenuListItem> = [\n {\n title: '菜单名称',\n dataIndex: 'category',\n key: 'category',\n },\n {\n title: '前端路由',\n dataIndex: 'front_route',\n },\n {\n title: 'Order',\n dataIndex: 'order',\n },\n {\n title: 'Is Common',\n dataIndex: 'is_common',\n key: 'is_common',\n render: value => (value ? '是' : '否'),\n },\n {\n title: '模板名称',\n dataIndex: 'model_name',\n key: 'model_name',\n },\n // {\n // title: '是否预设',\n // dataIndex: 'is_model',\n // key: 'is_model',\n // render: value => (value ? '否' : '是'),\n // },\n {\n title: '操作',\n key: 'action',\n width: 150,\n align: 'center',\n render(_, record) {\n if (record.is_model) {\n return (\n <Space size=\"small\">\n <Button\n type=\"link\"\n onClick={() => {\n navigate(`./update/${record.id}`)\n }}\n >\n {t('global.update')}\n </Button>\n <Popconfirm\n title=\"删除菜单\"\n placement=\"topRight\"\n description={<Highlight texts={[record.category]}>确定要删除菜单 {record.category} 吗?</Highlight>}\n onConfirm={async () => {\n await remove.trigger(record.id)\n refetch(url)\n mutate()\n message.success('删除成功')\n }}\n >\n <Button danger type=\"link\" size=\"small\">\n {t('global.delete')}\n </Button>\n </Popconfirm>\n </Space>\n )\n }\n\n return null\n },\n },\n ]\n\n return (\n <>\n <Card\n title=\"菜单管理\"\n extra={\n <Button\n type=\"primary\"\n onClick={() => {\n navigate('./create')\n }}\n >\n 创建菜单项\n </Button>\n }\n >\n <QueryList<MenuListItem, undefined, MenuListItem[]>\n onePage\n code=\"9900001\"\n rowKey=\"id\"\n url={url}\n columns={columns}\n getDataSource={response => response}\n />\n </Card>\n </>\n )\n },\n { isGlobal: true },\n)\n\nexport default MenuItemList\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs'\n }\n};\n\nexport default config;\n","function curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport default curry;\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport default isObject;\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\n\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n\n return config;\n}\n/**\n * logs deprecation message\n */\n\n\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport default validators;\nexport { errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport default compose;\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport default merge;\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\n\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport default makeCancelable;\nexport { CANCELATION_MESSAGE };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\n/** the local state of the module */\n\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n}),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\n\n\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, [\"monaco\"]);\n\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\n\n\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n\n return makeCancelable(wrapperPromise);\n}\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\n\n\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\n\n\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\n\n\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n\n loaderScript.onload = function () {\n return configureLoader();\n };\n\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n/**\n * configures the monaco loader\n */\n\n\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n\n require.config(state.config);\n\n require(['vs/editor/editor.main'], function (monaco) {\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n/**\n * store monaco instance in local state\n */\n\n\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\n\n\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\n\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport default loader;\n","import loader from './loader/index.js';\nexport { default } from './loader/index.js';\n","import React, { type PropsWithChildren } from 'react';\n\nimport styles from './styles';\n\nfunction Loading({ children }: PropsWithChildren) {\n return <div style={styles.container}>{children}</div>;\n}\n\nexport default Loading;\n","import React from 'react';\n\nimport styles from './styles';\nimport Loading from '../Loading';\nimport { type ContainerProps } from './types';\n\n// ** forwardref render functions do not support proptypes or defaultprops **\n// one of the reasons why we use a separate prop for passing ref instead of using forwardref\n\nfunction MonacoContainer({\n width,\n height,\n isEditorReady,\n loading,\n _ref,\n className,\n wrapperProps,\n}: ContainerProps) {\n return (\n <section style={{ ...styles.wrapper, width, height }} {...wrapperProps}>\n {!isEditorReady && <Loading>{loading}</Loading>}\n <div\n ref={_ref}\n style={{ ...styles.fullWidth, ...(!isEditorReady && styles.hide) }}\n className={className}\n />\n </section>\n );\n}\n\nexport default MonacoContainer;\n","import { useEffect, type EffectCallback } from 'react';\n\nfunction useMount(effect: EffectCallback) {\n useEffect(effect, []);\n}\n\nexport default useMount;\n","import { useEffect, useRef, type DependencyList, type EffectCallback } from 'react';\n\nfunction useUpdate(effect: EffectCallback, deps: DependencyList, applyChanges = true) {\n const isInitialMount = useRef(true);\n\n useEffect(\n isInitialMount.current || !applyChanges\n ? () => {\n isInitialMount.current = false;\n }\n : effect,\n deps,\n );\n}\n\nexport default useUpdate;\n","import { type Monaco } from '..';\n\n/**\n * noop is a helper function that does nothing\n * @returns undefined\n */\nfunction noop() {\n /** no-op */\n}\n\n/**\n * getOrCreateModel is a helper function that will return a model if it exists\n * or create a new model if it does not exist.\n * This is useful for when you want to create a model for a file that may or may not exist yet.\n * @param monaco The monaco instance\n * @param value The value of the model\n * @param language The language of the model\n * @param path The path of the model\n * @returns The model that was found or created\n */\nfunction getOrCreateModel(monaco: Monaco, value: string, language: string, path: string) {\n return getModel(monaco, path) || createModel(monaco, value, language, path);\n}\n\n/**\n * getModel is a helper function that will return a model if it exists\n * or return undefined if it does not exist.\n * @param monaco The monaco instance\n * @param path The path of the model\n * @returns The model that was found or undefined\n */\nfunction getModel(monaco: Monaco, path: string) {\n return monaco.editor.getModel(createModelUri(monaco, path));\n}\n\n/**\n * createModel is a helper function that will create a new model\n * @param monaco The monaco instance\n * @param value The value of the model\n * @param language The language of the model\n * @param path The path of the model\n * @returns The model that was created\n */\nfunction createModel(monaco: Monaco, value: string, language?: string, path?: string) {\n return monaco.editor.createModel(\n value,\n language,\n path ? createModelUri(monaco, path) : undefined,\n );\n}\n\n/**\n * createModelUri is a helper function that will create a new model uri\n * @param monaco The monaco instance\n * @param path The path of the model\n * @returns The model uri that was created\n */\nfunction createModelUri(monaco: Monaco, path: string) {\n return monaco.Uri.parse(path);\n}\n\nexport { noop, getOrCreateModel };\n","'use client';\n\nimport React, { useState, useRef, useCallback, useEffect } from 'react';\nimport loader from '@monaco-editor/loader';\n\nimport MonacoContainer from '../MonacoContainer';\nimport useMount from '../hooks/useMount';\nimport useUpdate from '../hooks/useUpdate';\nimport { noop, getOrCreateModel } from '../utils';\nimport { type DiffEditorProps, type MonacoDiffEditor } from './types';\nimport { type Monaco } from '..';\n\nfunction DiffEditor({\n original,\n modified,\n language,\n originalLanguage,\n modifiedLanguage,\n originalModelPath,\n modifiedModelPath,\n keepCurrentOriginalModel = false,\n keepCurrentModifiedModel = false,\n theme = 'light',\n loading = 'Loading...',\n options = {},\n height = '100%',\n width = '100%',\n className,\n wrapperProps = {},\n beforeMount = noop,\n onMount = noop,\n}: DiffEditorProps) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const editorRef = useRef<MonacoDiffEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const preventCreation = useRef(false);\n\n useMount(() => {\n const cancelable = loader.init();\n\n cancelable\n .then((monaco) => (monacoRef.current = monaco) && setIsMonacoMounting(false))\n .catch(\n (error) =>\n error?.type !== 'cancelation' && console.error('Monaco initialization: error:', error),\n );\n\n return () => (editorRef.current ? disposeEditor() : cancelable.cancel());\n });\n\n useUpdate(\n () => {\n if (editorRef.current && monacoRef.current) {\n const originalEditor = editorRef.current.getOriginalEditor();\n const model = getOrCreateModel(\n monacoRef.current,\n original || '',\n originalLanguage || language || 'text',\n originalModelPath || '',\n );\n\n if (model !== originalEditor.getModel()) {\n originalEditor.setModel(model);\n }\n }\n },\n [originalModelPath],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n if (editorRef.current && monacoRef.current) {\n const modifiedEditor = editorRef.current.getModifiedEditor();\n const model = getOrCreateModel(\n monacoRef.current,\n modified || '',\n modifiedLanguage || language || 'text',\n modifiedModelPath || '',\n );\n\n if (model !== modifiedEditor.getModel()) {\n modifiedEditor.setModel(model);\n }\n }\n },\n [modifiedModelPath],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const modifiedEditor = editorRef.current!.getModifiedEditor();\n if (modifiedEditor.getOption(monacoRef.current!.editor.EditorOption.readOnly)) {\n modifiedEditor.setValue(modified || '');\n } else {\n if (modified !== modifiedEditor.getValue()) {\n modifiedEditor.executeEdits('', [\n {\n range: modifiedEditor.getModel()!.getFullModelRange(),\n text: modified || '',\n forceMoveMarkers: true,\n },\n ]);\n\n modifiedEditor.pushUndoStop();\n }\n }\n },\n [modified],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.getModel()?.original.setValue(original || '');\n },\n [original],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const { original, modified } = editorRef.current!.getModel()!;\n\n monacoRef.current!.editor.setModelLanguage(original, originalLanguage || language || 'text');\n monacoRef.current!.editor.setModelLanguage(modified, modifiedLanguage || language || 'text');\n },\n [language, originalLanguage, modifiedLanguage],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n monacoRef.current?.editor.setTheme(theme);\n },\n [theme],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.updateOptions(options);\n },\n [options],\n isEditorReady,\n );\n\n const setModels = useCallback(() => {\n if (!monacoRef.current) return;\n beforeMountRef.current(monacoRef.current);\n const originalModel = getOrCreateModel(\n monacoRef.current,\n original || '',\n originalLanguage || language || 'text',\n originalModelPath || '',\n );\n\n const modifiedModel = getOrCreateModel(\n monacoRef.current,\n modified || '',\n modifiedLanguage || language || 'text',\n modifiedModelPath || '',\n );\n\n editorRef.current?.setModel({\n original: originalModel,\n modified: modifiedModel,\n });\n }, [\n language,\n modified,\n modifiedLanguage,\n original,\n originalLanguage,\n originalModelPath,\n modifiedModelPath,\n ]);\n\n const createEditor = useCallback(() => {\n if (!preventCreation.current && containerRef.current) {\n editorRef.current = monacoRef.current!.editor.createDiffEditor(containerRef.current, {\n automaticLayout: true,\n ...options,\n });\n\n setModels();\n\n monacoRef.current?.editor.setTheme(theme);\n\n setIsEditorReady(true);\n preventCreation.current = true;\n }\n }, [options, theme, setModels]);\n\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current!, monacoRef.current!);\n }\n }, [isEditorReady]);\n\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n function disposeEditor() {\n const models = editorRef.current?.getModel();\n\n if (!keepCurrentOriginalModel) {\n models?.original?.dispose();\n }\n\n if (!keepCurrentModifiedModel) {\n models?.modified?.dispose();\n }\n\n editorRef.current?.dispose();\n }\n\n return (\n <MonacoContainer\n width={width}\n height={height}\n isEditorReady={isEditorReady}\n loading={loading}\n _ref={containerRef}\n className={className}\n wrapperProps={wrapperProps}\n />\n );\n}\n\nexport default DiffEditor;\n","import { useEffect, useRef } from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n\nexport default usePrevious;\n","'use client';\n\nimport React, { useState, useEffect, useRef, useCallback } from 'react';\nimport loader from '@monaco-editor/loader';\nimport useMount from '../hooks/useMount';\nimport useUpdate from '../hooks/useUpdate';\nimport usePrevious from '../hooks/usePrevious';\nimport { type IDisposable, type editor } from 'monaco-editor';\nimport { noop, getOrCreateModel } from '../utils';\nimport { type EditorProps } from './types';\nimport { type Monaco } from '..';\nimport MonacoContainer from '../MonacoContainer';\n\nconst viewStates = new Map();\n\nfunction Editor({\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n /* === */\n theme = 'light',\n line,\n loading = 'Loading...',\n options = {},\n overrideServices = {},\n saveViewState = true,\n keepCurrentModel = false,\n /* === */\n width = '100%',\n height = '100%',\n className,\n wrapperProps = {},\n /* === */\n beforeMount = noop,\n onMount = noop,\n onChange,\n onValidate = noop,\n}: EditorProps) {\n const [isEditorReady, setIsEditorReady] = useState(false);\n const [isMonacoMounting, setIsMonacoMounting] = useState(true);\n const monacoRef = useRef<Monaco | null>(null);\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const onMountRef = useRef(onMount);\n const beforeMountRef = useRef(beforeMount);\n const subscriptionRef = useRef<IDisposable>();\n const valueRef = useRef(value);\n const previousPath = usePrevious(path);\n const preventCreation = useRef(false);\n const preventTriggerChangeEvent = useRef<boolean>(false);\n\n useMount(() => {\n const cancelable = loader.init();\n\n cancelable\n .then((monaco) => (monacoRef.current = monaco) && setIsMonacoMounting(false))\n .catch(\n (error) =>\n error?.type !== 'cancelation' && console.error('Monaco initialization: error:', error),\n );\n\n return () => (editorRef.current ? disposeEditor() : cancelable.cancel());\n });\n\n useUpdate(\n () => {\n const model = getOrCreateModel(\n monacoRef.current!,\n defaultValue || value || '',\n defaultLanguage || language || '',\n path || defaultPath || '',\n );\n\n if (model !== editorRef.current?.getModel()) {\n if (saveViewState) viewStates.set(previousPath, editorRef.current?.saveViewState());\n editorRef.current?.setModel(model);\n if (saveViewState) editorRef.current?.restoreViewState(viewStates.get(path));\n }\n },\n [path],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n editorRef.current?.updateOptions(options);\n },\n [options],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n if (!editorRef.current || value === undefined) return;\n if (editorRef.current.getOption(monacoRef.current!.editor.EditorOption.readOnly)) {\n editorRef.current.setValue(value);\n } else if (value !== editorRef.current.getValue()) {\n preventTriggerChangeEvent.current = true;\n editorRef.current.executeEdits('', [\n {\n range: editorRef.current.getModel()!.getFullModelRange(),\n text: value,\n forceMoveMarkers: true,\n },\n ]);\n\n editorRef.current.pushUndoStop();\n preventTriggerChangeEvent.current = false;\n }\n },\n [value],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n const model = editorRef.current?.getModel();\n if (model && language) monacoRef.current?.editor.setModelLanguage(model, language);\n },\n [language],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n // reason for undefined check: https://github.com/suren-atoyan/monaco-react/pull/188\n if (line !== undefined) {\n editorRef.current?.revealLine(line);\n }\n },\n [line],\n isEditorReady,\n );\n\n useUpdate(\n () => {\n monacoRef.current?.editor.setTheme(theme);\n },\n [theme],\n isEditorReady,\n );\n\n const createEditor = useCallback(() => {\n if (!containerRef.current || !monacoRef.current) return;\n if (!preventCreation.current) {\n beforeMountRef.current(monacoRef.current);\n const autoCreatedModelPath = path || defaultPath;\n\n const defaultModel = getOrCreateModel(\n monacoRef.current,\n value || defaultValue || '',\n defaultLanguage || language || '',\n autoCreatedModelPath || '',\n );\n\n editorRef.current = monacoRef.current?.editor.create(\n containerRef.current,\n {\n model: defaultModel,\n automaticLayout: true,\n ...options,\n },\n overrideServices,\n );\n\n saveViewState && editorRef.current.restoreViewState(viewStates.get(autoCreatedModelPath));\n\n monacoRef.current.editor.setTheme(theme);\n\n if (line !== undefined) {\n editorRef.current.revealLine(line);\n }\n\n setIsEditorReady(true);\n preventCreation.current = true;\n }\n }, [\n defaultValue,\n defaultLanguage,\n defaultPath,\n value,\n language,\n path,\n options,\n overrideServices,\n saveViewState,\n theme,\n line,\n ]);\n\n useEffect(() => {\n if (isEditorReady) {\n onMountRef.current(editorRef.current!, monacoRef.current!);\n }\n }, [isEditorReady]);\n\n useEffect(() => {\n !isMonacoMounting && !isEditorReady && createEditor();\n }, [isMonacoMounting, isEditorReady, createEditor]);\n\n // subscription\n // to avoid unnecessary updates (attach - dispose listener) in subscription\n valueRef.current = value;\n\n // onChange\n useEffect(() => {\n if (isEditorReady && onChange) {\n subscriptionRef.current?.dispose();\n subscriptionRef.current = editorRef.current?.onDidChangeModelContent((event) => {\n if (!preventTriggerChangeEvent.current) {\n onChange(editorRef.current!.getValue(), event);\n }\n });\n }\n }, [isEditorReady, onChange]);\n\n // onValidate\n useEffect(() => {\n if (isEditorReady) {\n const changeMarkersListener = monacoRef.current!.editor.onDidChangeMarkers((uris) => {\n const editorUri = editorRef.current!.getModel()?.uri;\n\n if (editorUri) {\n const currentEditorHasMarkerChanges = uris.find((uri) => uri.path === editorUri.path);\n if (currentEditorHasMarkerChanges) {\n const markers = monacoRef.current!.editor.getModelMarkers({\n resource: editorUri,\n });\n onValidate?.(markers);\n }\n }\n });\n\n return () => {\n changeMarkersListener?.dispose();\n };\n }\n return () => {\n // eslint happy\n };\n }, [isEditorReady, onValidate]);\n\n function disposeEditor() {\n subscriptionRef.current?.dispose();\n\n if (keepCurrentModel) {\n saveViewState && viewStates.set(path, editorRef.current!.saveViewState());\n } else {\n editorRef.current!.getModel()?.dispose();\n }\n\n editorRef.current!.dispose();\n }\n\n return (\n <MonacoContainer\n width={width}\n height={height}\n isEditorReady={isEditorReady}\n loading={loading}\n _ref={containerRef}\n className={className}\n wrapperProps={wrapperProps}\n />\n );\n}\n\nexport default Editor;\n","import loader from '@monaco-editor/loader';\nexport { loader };\n\nimport DiffEditor from './DiffEditor';\nexport * from './DiffEditor/types';\nexport { DiffEditor };\n\nimport useMonaco from './hooks/useMonaco';\nexport { useMonaco };\n\nimport Editor from './Editor';\nexport * from './Editor/types';\nexport { Editor };\nexport default Editor;\n\n// Monaco\nimport type * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nexport type Monaco = typeof monaco;\n\n// Default themes\nexport type Theme = 'vs-dark' | 'light';\n","import { type CSSProperties } from 'react';\n\nconst styles: Record<string, CSSProperties> = {\n wrapper: {\n display: 'flex',\n position: 'relative',\n textAlign: 'initial',\n },\n fullWidth: {\n width: '100%',\n },\n hide: {\n display: 'none',\n },\n};\n\nexport default styles;\n","import { type CSSProperties } from 'react';\n\nconst styles: Record<string, CSSProperties> = {\n container: {\n display: 'flex',\n height: '100%',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n },\n};\n\nexport default styles;\n","import Loading from './Loading';\n\nexport default Loading;\n","import { memo } from 'react';\n\nimport MonacoContainer from './MonacoContainer';\n\nexport default memo(MonacoContainer);\n","import { memo } from 'react';\n\nimport Editor from './Editor';\n\nexport * from './types';\n\nexport default memo(Editor);\n","import { useState } from 'react';\nimport loader from '@monaco-editor/loader';\n\nimport useMount from '../useMount';\n\nfunction useMonaco() {\n const [monaco, setMonaco] = useState(loader.__getMonacoInstance());\n\n useMount(() => {\n let cancelable: ReturnType<typeof loader.init>;\n\n if (!monaco) {\n cancelable = loader.init();\n\n cancelable.then((monaco) => {\n setMonaco(monaco);\n });\n }\n\n return () => cancelable?.cancel();\n });\n\n return monaco;\n}\n\nexport default useMonaco;\n","import { memo } from 'react';\n\nimport DiffEditor from './DiffEditor';\n\nexport * from './types';\n\nexport default memo(DiffEditor);\n","import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useCreateMenu } from '@/features/menu'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst CreateMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { trigger } = useCreateMenu()\n const { mutate } = useMenuList()\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n await trigger({\n ...rest,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n })\n mutate()\n message.success('创建成功', 0.8, () => navigate('..', { relative: 'route' }))\n }\n\n return (\n <Card title=\"创建菜单项\">\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default CreateMenuItem\n","import { Editor } from '@monaco-editor/react'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useEffect } from 'react'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport useSWR from 'swr'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useUpdateMenu } from '@/features/menu'\nimport { useKy } from '@/libs'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst EditMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { trigger } = useUpdateMenu()\n const params = useParams<'id'>()\n const { mutate } = useMenuList()\n const ky = useKy()\n\n const { data, isLoading } = useSWR(`/api/usystem/menu/info?id=${params.id}`, url => ky.get<MenuListItem>(url))\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n\n await trigger({\n ...rest,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n id: +params.id!,\n })\n mutate()\n message.success('更新成功', 0.8, () => navigate('../..', { relative: 'route' }))\n }\n\n useEffect(() => {\n const { permissions, front_route, ...rest } = data ?? {}\n const permissionsString = JSON.stringify(permissions || [], null, 2)\n const frontRoute = front_route?.replace(FRONTEND_ROUTE_PREFIX, '')\n form.setFieldsValue({\n ...rest,\n permissions: permissionsString,\n front_route: frontRoute,\n })\n }, [data, form])\n\n return (\n <Card title=\"更新菜单项\" loading={isLoading}>\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('../..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default EditMenuItem\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","export const errors =\n\tprocess.env.NODE_ENV !== \"production\"\n\t\t? [\n\t\t\t\t// All error codes, starting by 0:\n\t\t\t\tfunction(plugin: string) {\n\t\t\t\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t\t\t\t},\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t\t\t\t},\n\t\t\t\t\"This object has been frozen and should not be mutated\",\n\t\t\t\tfunction(data: any) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\t\t\t\tdata\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t\t\t\t\"Immer forbids circular references\",\n\t\t\t\t\"The first or second argument to `produce` must be a function\",\n\t\t\t\t\"The third argument to `produce` must be a function or undefined\",\n\t\t\t\t\"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t\t\t\t\"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `'current' expects a draft, got: ${thing}`\n\t\t\t\t},\n\t\t\t\t\"Object.defineProperty() cannot be used on an Immer draft\",\n\t\t\t\t\"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t\t\t\t\"Immer only supports deleting array indices\",\n\t\t\t\t\"Immer only supports setting array indices and the 'length' property\",\n\t\t\t\tfunction(thing: string) {\n\t\t\t\t\treturn `'original' expects a draft, got: ${thing}`\n\t\t\t\t}\n\t\t\t\t// Note: if more errors are added, the errorOffset in Patches.ts should be increased\n\t\t\t\t// See Patches.ts for additional errors\n\t\t ]\n\t\t: []\n\nexport function die(error: number, ...args: any[]): never {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\tconst e = errors[error]\n\t\tconst msg = typeof e === \"function\" ? e.apply(null, args as any) : e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\tArchType,\n\tdie,\n\tStrictMode\n} from \"../internal\"\n\nexport const getPrototypeOf = Object.getPrototypeOf\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original<T>(value: T): T | undefined\nexport function original(value: Drafted<any>): any {\n\tif (!isDraft(value)) die(15, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/**\n * Each iterates a map, set or array.\n * Or, if any other kind of object, all of its own properties.\n * Regardless whether they are enumerable or symbols\n */\nexport function each<T extends Objectish>(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void\n): void\nexport function each(obj: any, iter: any) {\n\tif (getArchtype(obj) === ArchType.Object) {\n\t\tReflect.ownKeys(obj).forEach(key => {\n\t\t\titer(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): ArchType {\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_\n\t\t: Array.isArray(thing)\n\t\t? ArchType.Array\n\t\t: isMap(thing)\n\t\t? ArchType.Map\n\t\t: isSet(thing)\n\t\t? ArchType.Set\n\t\t: ArchType.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === ArchType.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === ArchType.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === ArchType.Map) thing.set(propOrOldValue, value)\n\telse if (t === ArchType.Set) {\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any, strict: StrictMode) {\n\tif (isMap(base)) {\n\t\treturn new Map(base)\n\t}\n\tif (isSet(base)) {\n\t\treturn new Set(base)\n\t}\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\n\tconst isPlain = isPlainObject(base)\n\n\tif (strict === true || (strict === \"class_only\" && !isPlain)) {\n\t\t// Perform a strict copy\n\t\tconst descriptors = Object.getOwnPropertyDescriptors(base)\n\t\tdelete descriptors[DRAFT_STATE as any]\n\t\tlet keys = Reflect.ownKeys(descriptors)\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key: any = keys[i]\n\t\t\tconst desc = descriptors[key]\n\t\t\tif (desc.writable === false) {\n\t\t\t\tdesc.writable = true\n\t\t\t\tdesc.configurable = true\n\t\t\t}\n\t\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t\t// with libraries that trap values, like mobx or vue\n\t\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\t\tif (desc.get || desc.set)\n\t\t\t\tdescriptors[key] = {\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\t\tvalue: base[key]\n\t\t\t\t}\n\t\t}\n\t\treturn Object.create(getPrototypeOf(base), descriptors)\n\t} else {\n\t\t// perform a sloppy copy\n\t\tconst proto = getPrototypeOf(base)\n\t\tif (proto !== null && isPlain) {\n\t\t\treturn {...base} // assumption: better inner class optimization than the assign below\n\t\t}\n\t\tconst obj = Object.create(proto)\n\t\treturn Object.assign(obj, base)\n\t}\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze<T>(obj: T, deep?: boolean): T\nexport function freeze<T>(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep)\n\t\t// See #590, don't recurse into non-enumerable / Symbol properties when freezing\n\t\t// So use Object.entries (only string-like, enumerables) instead of each()\n\t\tObject.entries(obj).forEach(([key, value]) => freeze(value, true))\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tDrafted,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tArchType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_<T>(draft: T, patches: readonly Patch[]): T\n\t}\n\tMapSet?: {\n\t\tproxyMap_<T extends AnyMap>(target: T, parent?: ImmerState): T\n\t\tproxySet_<T extends AnySet>(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin<K extends keyof Plugins>(\n\tpluginKey: K\n): Exclude<Plugins[K], undefined> {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(0, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin<K extends keyof Plugins>(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ArchType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map<any, boolean> | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted<AnyMap, MapState>\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ArchType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map<any, Drafted> // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted<AnySet, SetState>\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tArchType,\n\tgetPlugin\n} from \"../internal\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (state.type_ === ArchType.Object || state.type_ === ArchType.Array)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tArchType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(value, (key, childValue) =>\n\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path)\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result = state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// To preserve insertion order in all cases we then clear the set\n\t\t// And we let finalizeProperty know it needs to re-add non-draft children back to the target\n\t\tlet resultEach = result\n\t\tlet isSet = false\n\t\tif (state.type_ === ArchType.Set) {\n\t\t\tresultEach = new Set(result)\n\t\t\tresult.clear()\n\t\t\tisSet = true\n\t\t}\n\t\teach(resultEach, (key, childValue) =>\n\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path, isSet)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath,\n\ttargetIsSet?: boolean\n) {\n\tif (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n\t\tdie(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ArchType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude<ImmerState, SetState>).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t} else if (targetIsSet) {\n\t\ttargetObject.add(childValue)\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// Immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\t// Per #590, we never freeze symbolic properties. Just to make sure don't accidentally interfere\n\t\t// with other frameworks.\n\t\tif (\n\t\t\t(!parentState || !parentState.scope_.parent_) &&\n\t\t\ttypeof prop !== \"symbol\" &&\n\t\t\tObject.prototype.propertyIsEnumerable.call(targetObject, prop)\n\t\t)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\t// we never freeze for a non-root scope; as it would prevent pruning for drafts inside wrapping objects\n\tif (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tgetPrototypeOf,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tArchType,\n\tImmerScope\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ArchType.Object\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted<AnyObject, ProxyObjectState>\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ArchType.Array\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted<AnyArray, ProxyArrayState>\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy<T extends Objectish>(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted<T, ProxyState> {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ArchType.Array : (ArchType.Object as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler<object | Array<any>> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler<ProxyState> = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(value, state))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\t(state.copy_![prop] === value &&\n\t\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t\t(value !== undefined || prop in state.copy_)) ||\n\t\t\t// special case: NaN\n\t\t\t(Number.isNaN(value) && Number.isNaN(state.copy_![prop]))\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\tif (state.copy_) {\n\t\t\tdelete state.copy_[prop]\n\t\t}\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ArchType.Array || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop as any)))\n\t\tdie(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (\n\t\tprocess.env.NODE_ENV !== \"production\" &&\n\t\tprop !== \"length\" &&\n\t\tisNaN(parseInt(prop as any))\n\t)\n\t\tdie(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {\n\tbase_: any\n\tcopy_: any\n\tscope_: ImmerScope\n}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(\n\t\t\tstate.base_,\n\t\t\tstate.scope_.immer_.useStrictShallowCopy_\n\t\t)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport type StrictMode = boolean | \"class_only\";\n\nexport class Immer implements ProducersFns {\n\tautoFreeze_: boolean = true\n\tuseStrictShallowCopy_: StrictMode = false\n\n\tconstructor(config?: {\n\t\tautoFreeze?: boolean\n\t\tuseStrictShallowCopy?: StrictMode\n\t}) {\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t\tif (typeof config?.useStrictShallowCopy === \"boolean\")\n\t\t\tthis.setUseStrictShallowCopy(config!.useStrictShallowCopy)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(1, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (base: any, recipe?: any): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft<T extends Objectish>(base: T): Draft<T> {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft<D extends Draft<any>>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft<infer T> ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (!state || !state.isManual_) die(9)\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to enable strict shallow copy.\n\t *\n\t * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n\t */\n\tsetUseStrictShallowCopy(value: StrictMode) {\n\t\tthis.useStrictShallowCopy_ = value\n\t}\n\n\tapplyPatches<T extends Objectish>(base: T, patches: readonly Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy<T extends Objectish>(\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted<T, ImmerState> {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: createProxyProxy(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tisFrozen\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current<T>(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(10, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value) || isFrozen(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tif (state) {\n\t\tif (!state.modified_) return state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_)\n\t} else {\n\t\tcopy = shallowCopy(value, true)\n\t}\n\t// recurse\n\teach(copy, (key, childValue) => {\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\tif (state) {\n\t\tstate.finalized_ = false\n\t}\n\treturn copy\n}\n","// Should be no imports here!\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: unique symbol = Symbol.for(\"immer-nothing\")\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = Symbol.for(\"immer-draftable\")\n\nexport const DRAFT_STATE: unique symbol = Symbol.for(\"immer-state\")\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tWritableDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\tProducer,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze,\n\tObjectish,\n\tStrictMode\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\nexport const setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft<T>(value: T): Draft<T> {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable<T>(value: T): Immutable<T> {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\n","import { MinusCircleOutlined } from '@ant-design/icons'\nimport { Button, Col, Empty, Form, Input, Row, Select, Typography } from 'antd'\nimport { first, last } from 'lodash-es'\nimport { type FC, Fragment } from 'react'\nimport useSWR from 'swr'\nimport useSWRMutation from 'swr/mutation'\n\nimport type { Game } from '@/components/layout'\nimport { useTranslation } from '@/components/locale'\nimport { useFormModal } from '@/components/modal'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion, WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\n\nimport { PermissionList } from '../components'\nimport type { PermissionEnumItem, RoleEnumItem, RoleListItem, RoleV1, RoleV2 } from '../types'\n\nconst { Text } = Typography\n\nexport function useAllPermissions() {\n const ky = useKy()\n return useSWR('/api/usystem/user/allPermssions', url => ky.get<PermissionEnumItem[]>(url))\n}\n\nexport function useAllPermissionsV2() {\n const ky = useKy()\n return useSWR('/api/usystem/user/allPermissionsV2', url =>\n ky.get<{\n game: Game[]\n permission: PermissionEnumItem[]\n }>(url),\n )\n}\n\nexport function useAllRoles() {\n const ky = useKy()\n return useSWR('/api/usystem/role/all', url => ky.get<RoleEnumItem[]>(url))\n}\n\nexport function useRole(name: string) {\n const permissionVersion = useToolkitsStore(state => state.permissionVersion)\n const ky = useKy()\n return useSWR(\n `/api/usystem/role/${permissionVersion === PermissionVersion.V2 ? 'infoV2' : 'info'}?name=${name}`,\n (url: string) => ky.get<RoleV1 | RoleV2>(url),\n )\n}\n\nexport function useCreateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n return useSWRMutation(\n permissionVersion === PermissionVersion.V2 ? '/api/usystem/role/createV2' : '/api/usystem/role/create',\n (\n url: string,\n {\n arg,\n }: {\n arg: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport function useUpdateRole() {\n const { permissionVersion } = useToolkitsStore(s => s)\n const ky = useKy()\n return useSWRMutation(\n permissionVersion === PermissionVersion.V2 ? '/api/usystem/role/updateV2' : '/api/usystem/role/update',\n (\n url: string,\n {\n arg,\n }: {\n arg: { id: number; name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport function useRemoveRole() {\n const ky = useKy()\n return useSWRMutation(\n '/api/usystem/role/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: number; name: string }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport function useCreateUser() {\n const ky = useKy()\n return useSWRMutation(\n '/api/usystem/user/create',\n (\n url,\n {\n arg,\n }: {\n arg:\n | { name: string; roles: string[] }\n | {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport function useUpdateUser() {\n const ky = useKy()\n return useSWRMutation(\n '/api/usystem/user/update',\n (\n url,\n {\n arg,\n }: {\n arg:\n | { id: string; name: string; roles: string[] }\n | {\n id: string\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport function useRemoveUser() {\n const ky = useKy()\n return useSWRMutation(\n '/api/usystem/user/delete',\n (\n url,\n {\n arg,\n }: {\n arg: { id: string; name: string }\n },\n ) => ky.post(url, arg),\n )\n}\n\nexport const useCreateRoleModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { trigger } = useCreateRole()\n\n return useFormModal<{\n name: string\n permissions: RoleListItem['permissions']\n }>({\n title: t('Role.createTitle'),\n width: '50vw',\n formProps: {\n layout: 'vertical',\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm: async values => {\n await trigger({\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateRoleModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { trigger } = useUpdateRole()\n\n return useFormModal<\n {\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n },\n { id: number }\n >({\n title: t('Role.updateTitle'),\n width: '50vw',\n formProps: {\n layout: 'vertical',\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </>\n ),\n onConfirm: async (values, extraValues) => {\n await trigger({\n id: extraValues?.id,\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n onSuccess?.()\n },\n })\n}\n\nexport const useCreateUserModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { data: roles, isLoading } = useAllRoles()\n const { trigger } = useCreateUser()\n\n return useFormModal<{\n name: string\n roles: string[]\n }>({\n title: t('User.createTitle'),\n width: 600,\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n ),\n onConfirm: async values => {\n await trigger(values)\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateUserModal = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { data: roles, isLoading } = useAllRoles()\n const { trigger } = useUpdateUser()\n\n return useFormModal<\n {\n name: string\n roles: string[]\n },\n {\n id: string\n }\n >({\n title: t('User.updateTitle'),\n width: 600,\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n ),\n onConfirm: async (values, extraValues) => {\n await trigger({ ...values, id: extraValues?.id })\n onSuccess?.()\n },\n })\n}\n\ninterface GroupSelectProps {\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GroupSelect: FC<GroupSelectProps> = props => {\n const { onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useSWR('/api/enum/get?enum=game_group&type=all', path => ky.get<string[]>(path))\n\n const options = [{ label: '通用', value: WILDCARD }].concat(\n data?.map(group => ({ label: group, value: group })) ?? [],\n )\n\n const onValueChange = (value: string[]) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n }\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n mode=\"tags\"\n optionFilterProp=\"label\"\n loading={isLoading}\n options={options}\n onChange={onValueChange}\n />\n )\n}\n\ninterface GameSelectProps {\n groups?: string[]\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GameSelect: FC<GameSelectProps> = props => {\n const { groups, onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useSWR(\n groups?.length ? `/api/enum/game_group/get_game_ids?game_groups=${groups.join(',')}` : null,\n path =>\n ky\n .get<{\n list: {\n id: string\n name: string\n }[]\n }>(path)\n .then(response => response?.list),\n )\n\n const options = data?.map((group: { id: string; name: string }) => ({ label: group.name, value: group.id }))\n\n const onValueChange = (value: string[]) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n }\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n optionFilterProp=\"label\"\n mode=\"tags\"\n loading={isLoading}\n options={options}\n onChange={onValueChange}\n />\n )\n}\n\nconst UserModalContentV2 = ({ isCreate }: { isCreate?: boolean }) => {\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n\n interface FormSchema {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }\n\n return (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreate} />\n </Form.Item>\n <Form.List name=\"permissions\">\n {(fields, { add, remove }) => (\n <Row gutter={8}>\n <Col span={8} className=\"text-center mb-4\">\n <Text strong>{t('global.projectGroup')}</Text>\n </Col>\n <Col span={10} className=\"text-center mb-4\">\n <Text strong>{t('global.game')}</Text>\n </Col>\n <Col span={6} className=\"text-center mb-4\">\n <Text strong>{t('global.role')}</Text>\n </Col>\n {fields.map(field => (\n <Fragment key={field.key}>\n <Col span={8}>\n <Form.Item noStyle shouldUpdate>\n {({ setFieldValue }) => (\n <Form.Item name={[field.name, 'game_group']}>\n <GroupSelect\n onChange={() => {\n setFieldValue(['permissions', field.name, 'game_ids'], [])\n }}\n />\n </Form.Item>\n )}\n </Form.Item>\n </Col>\n <Col span={10}>\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, nextValues) =>\n prevValues.permissions[field.name]?.game_group !== nextValues.permissions[field.name]?.game_group\n }\n >\n {({ getFieldValue }) => {\n const _groups = getFieldValue(['permissions', field.name, 'game_group'])\n\n return (\n <Form.Item\n name={[field.name, 'game_ids']}\n dependencies={[['permissions', field.name, 'game_group']]}\n rules={[{ required: _groups?.length, message: '请选择游戏' }]}\n >\n <GameSelect groups={_groups} />\n </Form.Item>\n )\n }}\n </Form.Item>\n </Col>\n <Col span={6}>\n <div className=\"flex\">\n <div className=\"flex-1\">\n <Form.Item\n name={[field.name, 'role']}\n rules={[\n { required: true, message: '请选择角色' },\n ({ getFieldValue }) => ({\n validator(_rule, value) {\n const items = getFieldValue('permissions') as FormSchema['permissions']\n const otherItems = items.filter((item, index) => !!item && index !== field.name)\n if (otherItems.some(item => item.role === value)) {\n return Promise.reject(new Error('请勿重复选择角色'))\n }\n return Promise.resolve()\n },\n }),\n ]}\n >\n <Select\n allowClear\n showSearch\n optionFilterProp=\"label\"\n loading={isRolesLoading}\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </div>\n <div className=\"w-8 text-center\">\n <Form.Item>\n <MinusCircleOutlined\n onClick={() => {\n remove(field.name)\n }}\n />\n </Form.Item>\n </div>\n </div>\n </Col>\n </Fragment>\n ))}\n {fields.length === 0 && (\n <Col span={24}>\n <Empty className=\"mb-6\" />\n </Col>\n )}\n <Col span={24}>\n <Button block type=\"dashed\" onClick={() => add()}>\n {t('global.add')}\n </Button>\n </Col>\n </Row>\n )}\n </Form.List>\n </>\n )\n}\n\nexport const useCreateUserModalV2 = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { trigger } = useCreateUser()\n\n return useFormModal<{\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n }>({\n title: t('User.createTitle'),\n width: '50vw',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: <UserModalContentV2 isCreate />,\n onConfirm: async values => {\n await trigger(values)\n onSuccess?.()\n },\n })\n}\n\nexport const useUpdateUserModalV2 = ({ onSuccess }: { onSuccess?: () => void } = {}) => {\n const { t } = useTranslation()\n const { trigger } = useUpdateUser()\n\n return useFormModal<\n {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n },\n {\n id: string\n }\n >({\n title: t('User.updateTitle'),\n width: '50vw',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content: <UserModalContentV2 />,\n onConfirm: async (values, extraValues) => {\n await trigger({ ...values, id: extraValues?.id })\n onSuccess?.()\n },\n })\n}\n","import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState, useTransition } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const { t } = useTranslation()\n const [, startTransition] = useTransition()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n startTransition(() => {\n // 改变展开状态\n setActiveKey((permissions ?? []).map(({ category }) => category))\n })\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n const items = (permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions?.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\n {item.permissions?.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))\n\n return (\n <Collapse\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={items}\n onChange={onCollapseChange}\n />\n )\n}\n\nexport default PermissionCollapse\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nimport { useAllPermissionsV2 } from '../../hooks'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from '.'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionWithGameProps extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionWithGame: FC<PermissionWithGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: { permission, game: games } = {}, isLoading, error } = useAllPermissionsV2()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const { t } = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => String(game.id) === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n style={{ width: '160px' }}\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option\n key={game.id}\n value={game.id}\n disabled={gameList.some(({ gameId }) => gameId === String(game.id))}\n >\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionWithGame\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nimport { useAllPermissions } from '../../hooks'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../permissionCollapse'\nimport type { PermissionListPropsBase } from '.'\n\nconst { Text } = Typography\n\ninterface PermissionWithoutGameProps extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionWithoutGame: FC<PermissionWithoutGameProps> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const { t } = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionWithoutGame\n","import type { FC } from 'react'\n\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\n\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionWithGame from './PermissionWithGame'\nimport PermissionWithoutGame from './PermissionWithoutGame'\n\nexport interface PermissionListPropsBase {\n expand?: boolean\n readonly?: boolean\n}\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n const version = useToolkitsStore(state => state.permissionVersion)\n\n return (\n <>\n {version === PermissionVersion.V2 ? (\n <PermissionWithGame {...props} value={value as RoleV2['permissions']} />\n ) : (\n <PermissionWithoutGame {...props} value={value as RoleV1['permissions']} />\n )}\n </>\n )\n}\n\nexport default PermissionList\n","export { default as PermissionList } from './permissionList'\n","import type { Permission } from '@/types'\n\nexport interface PermissionEnumItem {\n category: string\n is_common?: boolean\n permissions: Permission[]\n}\n\nexport interface RoleEnumItem {\n id: string\n name: string\n}\n\nexport type RoleListItem = RoleV1 | RoleV2\n\nexport interface RoleV1 {\n id: number\n name: string\n ctime: string\n permissions: string[]\n}\n\nexport interface RoleV2 {\n id: number\n name: string\n ctime: string\n permissions: Record<string, string[]>\n}\n\nexport interface UserListItem {\n id: string\n name: string\n ctime: string\n roles?: string[]\n permissions?: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n}\n","export * from './components'\nexport * from './hooks'\nexport * from './types'\n","import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Space, Tag } from 'antd'\nimport { produce } from 'immer'\nimport { type FC } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { useToolkitsStore, withContext } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport type { UserListItem } from '@/features/permission'\n\nimport {\n useCreateUserModal,\n useCreateUserModalV2,\n useRemoveUser,\n useUpdateUserModal,\n useUpdateUserModalV2,\n} from '../../../features/permission'\n\nconst url = '/api/usystem/user/list'\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const { t } = useTranslation()\n const remove = useRemoveUser()\n const { mutate, refetch } = useQueryListStore()\n const { permissionVersion } = useToolkitsStore(s => s)\n const isV1 = permissionVersion === PermissionVersion.V1\n const isV3 = permissionVersion === PermissionVersion.V3\n\n const { show: showCreateModal, modal: createModal } = useCreateUserModal({\n onSuccess() {\n refetch(url, { page: 1 })\n message.success(t('User.createSuccessfully'))\n },\n })\n\n const { show: showUpdateModal, modal: updateModal } = useUpdateUserModal({\n onSuccess() {\n refetch(url)\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const { show: showCreateModalV2, modal: createModalV2 } = useCreateUserModalV2({\n onSuccess() {\n refetch(url, { page: 1 })\n message.success(t('User.createSuccessfully'))\n },\n })\n\n const { show: showUpdateModalV2, modal: updateModalV2 } = useUpdateUserModalV2({\n onSuccess() {\n refetch(url)\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const columns = (\n [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n render(value: string, record) {\n if (isV3) {\n return <Link to={`./${record.id}`}>{value}</Link>\n }\n return value\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n (isV1 || isV3) && {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`../role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n const { name, permissions, roles, id } = record\n return (\n <Space>\n <PermissionButton\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n if (isV3) {\n showUpdateModalV2({\n initialValues: {\n name,\n permissions,\n },\n extraValues: {\n id,\n },\n })\n } else {\n showUpdateModal({\n initialValues: {\n name,\n roles,\n },\n extraValues: {\n id,\n },\n })\n }\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('User.deleteTitle'),\n content: <Highlight texts={[name]}>{t('User.deleteContent', { user: name })}</Highlight>,\n async onOk() {\n await remove.trigger({\n id,\n name,\n })\n mutate<{ List: UserListItem[]; Total: number }>(url, prev => {\n return produce(prev, draft => {\n const index = draft?.List?.findIndex(item => item.id === id)\n if (index) {\n draft?.List?.splice(index, 1)\n }\n })\n })\n message.success(t('User.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ] as TableColumnsType<UserListItem>\n ).filter(Boolean)\n\n return (\n <>\n <Card\n title={t('global.user')}\n extra={\n <PermissionButton\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n if (isV3) {\n showCreateModalV2()\n } else {\n showCreateModal()\n }\n }}\n >\n {t('User.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<UserListItem, { name?: string }, { List: UserListItem[]; Total: number }>\n code=\"100001\"\n url={url}\n rowKey=\"id\"\n columns={columns}\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n renderForm={\n isV3\n ? form => (\n <Form form={form}>\n <Form.Item label=\"名称\" name=\"name\">\n <Input />\n </Form.Item>\n </Form>\n )\n : undefined\n }\n />\n </Card>\n {createModal}\n {updateModal}\n {createModalV2}\n {updateModalV2}\n </>\n )\n}\n\nexport default withContext(UserList, { isGlobal: true })\n","import { App, Breadcrumb, Card, Descriptions, Table, Tag } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\nimport useSWR from 'swr'\n\nimport { useGames } from '@/components/layout'\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { WILDCARD } from '@/constants'\nimport { type UserListItem, useUpdateUserModalV2 } from '@/features/permission'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nconst UserDetail = () => {\n const { message } = App.useApp()\n const params = useParams<'id'>()\n const { t } = useTranslation()\n const { gameApiV2 } = useToolkitsStore(s => s)\n const ky = useKy()\n\n const { data, isLoading, mutate } = useSWR(params.id ? `/api/usystem/user/info?id=${params.id}` : null, url =>\n ky.get<UserListItem>(url),\n )\n const { data: games } = useGames()\n const { data: roleViewable } = usePermission('200005')\n\n const { show, modal } = useUpdateUserModalV2({\n onSuccess() {\n mutate()\n message.success(t('User.updateSuccessfully'))\n },\n })\n\n const columns = [\n {\n key: 'group',\n title: t('global.projectGroup'),\n dataIndex: 'game_group',\n render(value: string[]) {\n return value.map(item => {\n return <Tag key={item}>{item === WILDCARD ? '通用' : item}</Tag>\n })\n },\n },\n {\n key: 'game',\n title: t('global.game'),\n dataIndex: 'game_ids',\n render(value: string[]) {\n return value.map(item => {\n const matchedGame = games?.find(game => String(gameApiV2 ? game.game_id : game.id) === item)\n return <Tag key={item}>{matchedGame?.name ?? (item === WILDCARD ? '通用' : item)}</Tag>\n })\n },\n },\n {\n key: 'role',\n title: t('global.role'),\n dataIndex: 'role',\n render(value: string) {\n return roleViewable ? (\n <Link to={`../../role/${value}`} relative=\"path\">\n {value}\n </Link>\n ) : (\n value\n )\n },\n },\n ]\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.user')}\n </Link>\n ),\n },\n {\n key: '2',\n title: '用户详情',\n },\n ]}\n />\n <Card\n title=\"用户详情\"\n loading={isLoading}\n extra={\n <PermissionButton\n code=\"100003\"\n onClick={() => {\n show({\n initialValues: {\n name: data?.name,\n permissions: data?.permissions,\n },\n extraValues: {\n id: data!.id,\n },\n })\n }}\n >\n {t('global.update')}\n </PermissionButton>\n }\n >\n <Descriptions bordered column={1}>\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.role')}>\n <Table rowKey=\"role\" columns={columns} dataSource={data?.permissions} pagination={false} />\n </Descriptions.Item>\n </Descriptions>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default UserDetail\n","import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Space } from 'antd'\nimport { produce } from 'immer'\nimport { Link } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { QueryList } from '@/components/queryList'\nimport { useQueryListStore } from '@/components/queryList/stores'\nimport { useToolkitsStore, withContext } from '@/components/toolkitsProvider'\nimport { PermissionVersion } from '@/constants'\nimport type { RoleListItem, RoleV1, RoleV2 } from '@/features/permission'\nimport { useCreateRoleModal, useRemoveRole, useUpdateRoleModal } from '@/features/permission'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\nconst url = '/api/usystem/role/list'\n\nconst RoleList = () => {\n const { modal, message } = App.useApp()\n const { data: viewable } = usePermission('200005')\n const { t } = useTranslation()\n const { permissionVersion } = useToolkitsStore(s => s)\n const { mutate, refetch } = useQueryListStore()\n const ky = useKy()\n\n const { show: showCreateModal, modal: createModal } = useCreateRoleModal({\n onSuccess() {\n refetch(url, { page: 1 })\n message.success(t('Role.createSuccessfully'))\n },\n })\n const { show: showUpdateModal, modal: updateModal } = useUpdateRoleModal({\n onSuccess() {\n mutate(url)\n message.success(t('Role.updateSuccessfully'))\n },\n })\n\n const remove = useRemoveRole()\n\n const handleUpdateBtnClick = async (record: RoleListItem) => {\n const data = await ky.get<RoleV1 | RoleV2>(\n `/api/usystem/role/info${permissionVersion === PermissionVersion.V2 ? 'V2' : ''}?name=${record.name}`,\n )\n\n showUpdateModal({\n initialValues: {\n permissions: data.permissions,\n name: data?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data?.id,\n },\n })\n }\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return (\n <Link to={`${value.name}`} relative=\"path\">\n {value.name}\n </Link>\n )\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n return (\n <Space size=\"small\">\n <PermissionButton\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n handleUpdateBtnClick(record)\n }}\n >\n {t('global.update')}\n </PermissionButton>\n <PermissionButton\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('Role.deleteTitle'),\n content: (\n <Highlight texts={[record.name]}>{t('Role.deleteContent', { role: record.name })}</Highlight>\n ),\n async onOk() {\n await remove.trigger({\n id: record.id,\n name: record.name,\n })\n mutate<{ List: RoleListItem[]; Total: number }>(url, prev => {\n return produce(prev, draft => {\n const index = draft?.List?.findIndex(item => item.id === record.id)\n if (index) {\n draft?.List?.splice(index, 1)\n }\n })\n })\n message.success(t('Role.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.role')}\n extra={\n <PermissionButton\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('Role.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n url={url}\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default withContext(RoleList, {\n isGlobal: true,\n})\n","import { App, Breadcrumb, Card, Descriptions, Divider, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\nimport { PermissionButton } from '@/components/permissionButton'\nimport { withContext } from '@/components/toolkitsProvider'\nimport { PermissionList, useRole, useUpdateRoleModal } from '@/features/permission'\n\nconst RoleDetail = () => {\n const { message } = App.useApp()\n const params = useParams()\n const { t } = useTranslation()\n const { data, isLoading, mutate } = useRole(params.name as string)\n const { show, modal } = useUpdateRoleModal({\n onSuccess() {\n mutate()\n message.success(t('Role.updateSuccessfully'))\n },\n })\n\n const handleUpdateBtnClick = async () => {\n show({\n initialValues: {\n permissions: data?.permissions,\n name: data?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data!.id,\n },\n })\n }\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.role')}\n </Link>\n ),\n },\n {\n key: '2',\n title: t('RoleDetail.title'),\n },\n ]}\n />\n <Card\n title={t('RoleDetail.title')}\n extra={\n <PermissionButton code=\"200003\" onClick={handleUpdateBtnClick}>\n {t('global.update')}\n </PermissionButton>\n }\n >\n <Skeleton loading={isLoading}>\n <Descriptions column={2} layout=\"vertical\" className=\"mb-6\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <Divider />\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default withContext(RoleDetail, { isGlobal: true })\n","import type { DrawerProps } from 'antd'\nimport { Button, Drawer, Space } from 'antd'\nimport { type ReactNode, useCallback, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useDrawerStore } from './stores'\n\nexport interface UseDrawerOperation {\n hide: () => void\n}\n\nexport interface UseDrawerProps extends Omit<DrawerProps, 'open' | 'confirmLoading' | 'onClose' | 'footer'> {\n content?: ReactNode | ((operation: UseDrawerOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n afterClose?: () => void | Promise<void>\n footer?: ReactNode | null\n confirmText?: string\n cancelText?: string\n confirmButtonProps?: React.ComponentProps<typeof Button>\n cancelButtonProps?: React.ComponentProps<typeof Button>\n}\n\nexport function useDraw(props: UseDrawerProps) {\n const {\n content,\n onConfirm,\n afterOpen,\n afterClose,\n footer,\n confirmText = '确认',\n cancelText = '取消',\n confirmButtonProps,\n cancelButtonProps,\n ...drawerProps\n } = props\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen } = useDrawerStore()\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onClose: DrawerProps['onClose'] = useCallback(async () => {\n _hide()\n await afterClose?.()\n }, [_hide, afterClose])\n\n const handleConfirm = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n } catch (error) {\n console.error('Drawer confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm])\n\n const drawerFooter =\n footer !== undefined ? (\n footer\n ) : (\n <Space>\n <Button {...cancelButtonProps} onClick={_hide}>\n {cancelText}\n </Button>\n <Button type=\"primary\" loading={confirmLoading} {...confirmButtonProps} onClick={handleConfirm}>\n {confirmText}\n </Button>\n </Space>\n )\n\n const internalDrawer = (\n <Drawer {...drawerProps} open={open} footer={drawerFooter} onClose={onClose}>\n {isRenderFunction ? content({ hide: _hide }) : content}\n </Drawer>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n confirmLoading,\n drawer: internalDrawer,\n }\n}\n","import { create } from 'zustand'\n\ninterface DrawerState {\n open: Map<number, boolean>\n isOpen: (uuid: number) => boolean\n show: (uuid: number) => void\n hide: (uuid: number) => void\n hideAll: () => void\n}\n\nexport const useDrawerStore = create<DrawerState>((set, get) => ({\n open: new Map(),\n isOpen: uuid => get().open.get(uuid) ?? false,\n show(uuid) {\n set({ open: new Map(get().open).set(uuid, true) })\n },\n hide(uuid) {\n set({ open: new Map(get().open).set(uuid, false) })\n },\n hideAll() {\n set({ open: new Map() })\n },\n}))\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useDraw, type UseDrawerOperation, type UseDrawerProps } from './drawer'\n\nexport interface UseFormDrawerProps<Values extends AnyObject = AnyObject, ExtraValues = any>\n extends Omit<UseDrawerProps, 'afterClose' | 'onConfirm' | 'content'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseDrawerOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n}\n\nexport function useFormDraw<Values extends AnyObject = AnyObject, ExtraValues = any>(\n props: UseFormDrawerProps<Values, ExtraValues>,\n) {\n const { content, form, formProps, onConfirm, onSuccess, ...drawerProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n let [internalForm] = Form.useForm<Values>()\n internalForm = form || internalForm\n\n const isRenderFunction = typeof content === 'function'\n\n const afterClose = useCallback(() => {\n internalForm.resetFields()\n }, [internalForm])\n\n const { id, show, hide, drawer } = useDraw({\n ...drawerProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? content(internalExtraValues, operation) : content}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose,\n })\n\n const onShow = useCallback(\n (options?: { initialValues?: RecursivePartial<Values>; extraValues?: ExtraValues }) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: onShow,\n hide,\n drawer,\n }\n}\n","import { PlusOutlined } from '@ant-design/icons'\nimport type { InputRef } from 'antd'\nimport { Input, Space, Tag, theme } from 'antd'\nimport type { ChangeEvent, CSSProperties, FC } from 'react'\nimport { useEffect, useRef, useState } from 'react'\n\nimport { useTranslation } from '@/components/locale'\n\nexport interface DynamicTagsProps {\n initialTags?: string[]\n addable?: boolean\n removable?: boolean\n // 返回 Promise。如果返回 Promise.resolve(true),则添加; 如果返回 Promise.resolve(false) 或 Promise.reject,则不添加\n addCallback?: (addedTag: string) => Promise<boolean>\n // 返回 Promise。如果返回 Promise.resolve(true),则删除; 如果返回 Promise.resolve(false) 或 Promise.reject,则不删除\n removeCallback?: (removedTag: string) => Promise<boolean>\n}\n\nconst DynamicTags: FC<DynamicTagsProps> = props => {\n const { initialTags, addable, removable, addCallback, removeCallback } = props\n const { t } = useTranslation()\n const { token } = theme.useToken()\n const [tags, setTags] = useState<string[]>([])\n const [inputVisible, setInputVisible] = useState(false)\n const [inputValue, setInputValue] = useState('')\n const [editInputIndex, setEditInputIndex] = useState(-1)\n const [editInputValue, setEditInputValue] = useState<string>('')\n const inputRef = useRef<InputRef>(null)\n const editInputRef = useRef<InputRef>(null)\n\n useEffect(() => {\n setTags(initialTags ?? [])\n }, [initialTags])\n\n useEffect(() => {\n if (inputVisible) {\n inputRef.current?.focus()\n }\n }, [inputVisible])\n\n useEffect(() => {\n editInputRef.current?.focus()\n }, [inputValue])\n\n const handleClose = async (removedTag: string) => {\n const success = await removeCallback?.(removedTag)\n\n if (success) {\n const newTags = tags.filter(tag => tag !== removedTag)\n setTags(newTags)\n }\n }\n\n const showInput = () => {\n setInputVisible(true)\n }\n\n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n setInputValue(e.target.value)\n }\n\n const handleInputConfirm = async () => {\n if (inputValue && tags.indexOf(inputValue) === -1) {\n const success = await addCallback?.(inputValue)\n\n if (success) {\n setTags([...tags, inputValue])\n }\n }\n\n setInputVisible(false)\n setInputValue('')\n }\n\n const handleEditInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n setEditInputValue(e.target.value)\n }\n\n const handleEditInputConfirm = () => {\n const newTags = [...tags]\n newTags[editInputIndex] = editInputValue\n setTags(newTags)\n setEditInputIndex(-1)\n setInputValue('')\n }\n\n const tagInputStyle: CSSProperties = {\n width: 78,\n verticalAlign: 'top',\n }\n\n const tagPlusStyle: CSSProperties = {\n background: token.colorBgContainer,\n borderStyle: 'dashed',\n }\n\n return (\n <Space wrap size={[0, 8]}>\n <Space wrap size={[0, 8]}>\n {tags.map((tag, index) => {\n if (editInputIndex === index) {\n return (\n <Input\n ref={editInputRef}\n key={tag}\n size=\"small\"\n style={tagInputStyle}\n value={editInputValue}\n onChange={handleEditInputChange}\n onBlur={handleEditInputConfirm}\n onPressEnter={handleEditInputConfirm}\n />\n )\n }\n\n return (\n <Tag\n key={tag}\n closable={removable}\n style={{ userSelect: 'none' }}\n onClose={async e => {\n e.preventDefault()\n await handleClose(tag)\n }}\n >\n <span\n onDoubleClick={e => {\n if (index !== 0) {\n setEditInputIndex(index)\n setEditInputValue(tag)\n e.preventDefault()\n }\n }}\n >\n {tag}\n </span>\n </Tag>\n )\n })}\n </Space>\n {addable &&\n (inputVisible ? (\n <Input\n ref={inputRef}\n type=\"text\"\n size=\"small\"\n style={tagInputStyle}\n value={inputValue}\n onChange={handleInputChange}\n onBlur={handleInputConfirm}\n onPressEnter={handleInputConfirm}\n />\n ) : (\n <Tag style={tagPlusStyle} onClick={showInput}>\n <PlusOutlined />\n {t('global.add')}\n </Tag>\n ))}\n </Space>\n )\n}\n\nexport default DynamicTags\n","import { Typography } from 'antd'\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph'\nimport type { FC } from 'react'\nimport { useState } from 'react'\n\nexport type ExpandableParagraphProps = Omit<ParagraphProps, 'ellipsis' | 'className'>\n\nconst ExpandableParagraph: FC<ExpandableParagraphProps> = props => {\n const { children, ...restProps } = props\n const [expanded, setExpanded] = useState(false)\n\n return (\n <Typography.Paragraph\n {...restProps}\n className=\"mb-0\"\n ellipsis={{\n rows: 2,\n expandable: 'collapsible',\n expanded,\n onExpand: (_, info) => {\n setExpanded(info.expanded)\n },\n }}\n >\n {children}\n </Typography.Paragraph>\n )\n}\n\nexport default ExpandableParagraph\n","import 'animate.css'\nimport './styles/index.css'\n\n// Components\nexport * from './components/drawer'\nexport * from './components/dynamicTags'\nexport * from './components/expandableParagraph'\nexport * from './components/filterFormWrapper'\nexport * from './components/highlight'\nexport * from './components/infiniteList'\nexport * from './components/layout'\nexport * from './components/modal'\nexport * from './components/navMenu'\nexport * from './components/permissionButton'\nexport * from './components/queryList'\nexport * from './components/requireGame'\nexport * from './components/requirePermission'\nexport * from './components/toolkitsProvider'\nexport * from './components/userWidget'\n\n// Constants\nexport * from './constants'\n\n// Pages\nexport { default as menuRoutes } from './pages/menu'\nexport { default as NotFound } from './pages/notFound'\nexport { default as OperationLogList } from './pages/operationLogList'\nexport { default as permissionRoutes } from './pages/permission'\nexport { default as SignIn } from './pages/signIn'\n\n// Services\nexport * from './services'\n\n// Types\nexport * from './types'\n\n// Utils\nexport * from './utils'\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { FormInstance } from 'antd'\nimport { Button, Form, Result, Spin, Table } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { TableProps } from 'antd/es/table'\nimport { last } from 'lodash-es'\nimport qs from 'query-string'\nimport type { ReactElement, ReactNode, Ref } from 'react'\nimport { cloneElement, forwardRef, useEffect, useImperativeHandle, useState } from 'react'\nimport type { Arguments, MutatorCallback, MutatorOptions } from 'swr'\nimport useSWRInfinite from 'swr/infinite'\n\nimport type { FilterFormWrapperProps } from '@/components/filterFormWrapper'\nimport { FilterFormWrapper } from '@/components/filterFormWrapper'\nimport { useTranslation } from '@/components/locale'\nimport { useKy } from '@/libs'\nimport { usePermission } from '@/services'\n\ninterface SWRInfiniteRevalidateFn<Data = any> {\n (data: Data, key: Arguments): boolean\n}\n\ntype InfiniteKeyedMutator<Data> = <MutationData = Data>(\n data?: Data | Promise<Data | undefined> | MutatorCallback<Data>,\n opts?: boolean | SWRInfiniteMutatorOptions<Data, MutationData>,\n) => Promise<Data | MutationData | undefined>\n\ninterface SWRInfiniteMutatorOptions<Data = any, MutationData = Data>\n extends Omit<MutatorOptions<Data, MutationData>, 'revalidate'> {\n revalidate?: boolean | SWRInfiniteRevalidateFn<Data extends unknown[] ? Data[number] : never>\n}\n\nexport interface InfiniteListRef<Item = any, Values = any, Data = any> {\n data: Data[] | undefined\n dataSource: Item[] | undefined\n form: FormInstance<Values>\n mutate: InfiniteKeyedMutator<Data[]>\n size: number\n setSize: (size: number | ((_size: number) => number)) => Promise<Data[] | undefined>\n}\n\nexport interface InfiniteListProps<Item, Values, Data>\n extends Pick<TableProps<Item>, 'columns' | 'rowKey' | 'tableLayout' | 'expandable' | 'rowSelection' | 'bordered'>,\n Pick<FilterFormWrapperProps, 'buttonsAlign' | 'showReset'> {\n url: string\n getRowKey?: (response: Data | undefined, pageIndex: number) => any\n getDataSource: (data: Data[] | undefined) => Item[]\n form?: FormInstance<Values>\n code?: string\n headers?: Record<string, string> | ((form: FormInstance<Values>) => Record<string, string>)\n renderForm?: (form: FormInstance<Values>) => ReactElement\n params: (values: Values, pageIndex: number, rowKey?: string) => Record<any, any>\n getHasMore?: (data: Data | undefined) => boolean\n tableExtra?: ReactNode | ((form: FormInstance<Values>, data?: Item[]) => ReactNode)\n footer?: (data: Data[] | undefined) => ReactNode\n}\n\nconst InternalInfiniteList = <Item extends AnyObject, Values extends object | undefined = undefined, Data = any>(\n props: InfiniteListProps<Item, Values, Data>,\n ref: Ref<InfiniteListRef<Item, Values, Data>>,\n) => {\n const {\n code,\n url,\n tableExtra,\n headers,\n getRowKey,\n getDataSource,\n getHasMore,\n renderForm,\n params,\n footer,\n form,\n buttonsAlign,\n showReset,\n ...tableProps\n } = props\n const { t } = useTranslation()\n const [_form] = Form.useForm<Values>(form)\n const [isValid, setIsValid] = useState(false)\n const [formValues, setFormValues] = useState<Values>()\n const ky = useKy()\n\n const getKey = (pageIndex: number, previousPageData: Data) => {\n if (!isValid) return null\n\n const rowKey = getRowKey?.(previousPageData, pageIndex)\n const args = params(formValues as Values, pageIndex, rowKey)\n const queryString = qs.stringify(args)\n return queryString ? `${url}?${qs.stringify(args)}` : url\n }\n\n const _headers = typeof headers === 'function' ? headers(_form) : headers\n const { data: accessible, isLoading } = usePermission(code)\n\n const {\n data,\n size,\n setSize,\n isValidating: isListValidating,\n mutate,\n } = useSWRInfinite(\n getKey,\n async arg => {\n const response = await ky.get<Data>(arg, { headers: _headers })\n return response\n },\n {\n shouldRetryOnError: false,\n revalidateOnFocus: false,\n revalidateFirstPage: false,\n },\n )\n\n const dataSource = getDataSource(data)\n const isLoadingMore = isListValidating || (size > 0 && data && typeof data[size - 1] === 'undefined')\n const isReachingEnd = typeof getHasMore !== 'undefined' ? !getHasMore(last(data)) : false\n const isEmpty = !dataSource || dataSource.length === 0\n\n const onConfirm = async () => {\n const values = await _form.getFieldsValue()\n setFormValues(values)\n\n try {\n await _form.validateFields()\n setIsValid(true)\n mutate()\n } catch {\n setSize(0)\n setIsValid(false)\n }\n }\n\n const loadMore = () => {\n setSize(size + 1)\n }\n\n const onReset = async () => {\n try {\n _form.resetFields()\n await _form.validateFields({ validateOnly: true })\n mutate()\n } catch {\n setSize(0)\n }\n }\n\n useEffect(() => {\n setTimeout(() => {\n if (accessible) {\n _form\n .validateFields({ validateOnly: true })\n .then(values => {\n setFormValues(values)\n setIsValid(true)\n })\n .catch(() => {\n setIsValid(false)\n })\n }\n }, 300)\n }, [accessible, _form])\n\n useImperativeHandle(ref, () => ({\n data,\n dataSource,\n form: _form,\n mutate,\n size,\n setSize,\n }))\n\n if (isLoading) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 300,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status={403} subTitle={t('global.noEntitlement')} />\n }\n\n const renderFooter = footer && (() => footer(data))\n\n const formRenderer =\n typeof renderForm === 'function' ? (\n <FilterFormWrapper\n showReset={showReset}\n buttonsAlign={buttonsAlign}\n isConfirming={isListValidating}\n onReset={onReset}\n onConfirm={onConfirm}\n >\n {cloneElement(renderForm(_form), {\n onKeyUp: (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n onConfirm()\n }\n },\n })}\n </FilterFormWrapper>\n ) : (\n // 屏蔽 Form 组件的警告(Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?)\n <Form form={_form} />\n )\n\n return (\n <>\n {formRenderer}\n {typeof tableExtra === 'function' ? tableExtra(_form, dataSource) : tableExtra}\n <Table {...tableProps} dataSource={dataSource} loading={isLoadingMore} pagination={false} footer={renderFooter} />\n {!isEmpty && (\n <Button\n block\n loading={isLoadingMore}\n type=\"link\"\n htmlType=\"button\"\n disabled={isLoadingMore || isReachingEnd}\n onClick={loadMore}\n >\n {isLoadingMore\n ? t('InfiniteList.loadingText')\n : isReachingEnd\n ? t('InfiniteList.reachEndText')\n : t('InfiniteList.loadMoreText')}\n </Button>\n )}\n </>\n )\n}\n\nconst InfiniteList = forwardRef(InternalInfiniteList) as <\n Item extends AnyObject = AnyObject,\n Values extends object | undefined = undefined,\n Data = any,\n>(\n props: InfiniteListProps<Item, Values, Data> & { ref?: Ref<InfiniteListRef<Item, Data>> },\n) => ReactElement\n\nexport default InfiniteList\n","import decodeComponent from 'decode-uri-component';\nimport {includeKeys} from 'filter-obj';\nimport splitOnFirst from 'split-on-first';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: decode(value, options).split(options.arrayFormatSeparator);\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options, type) {\n\tif (type === 'string' && typeof value === 'string') {\n\t\treturn value;\n\t}\n\n\tif (typeof type === 'function' && typeof value === 'string') {\n\t\treturn type(value);\n\t}\n\n\tif (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\treturn value.toLowerCase() === 'true';\n\t}\n\n\tif (type === 'number' && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\treturn Number(value);\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\ttypes: Object.create(null),\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null && options.types[key] !== 'string') {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tconst type = options.types[key] ? options.types[key].replace('[]', '') : undefined;\n\t\t\t\tvalue[key2] = parseValue(value2, options, type);\n\t\t\t}\n\t\t} else if (typeof value === 'object' && value !== null && options.types[key] === 'string') {\n\t\t\treturnValue[key] = Object.values(value).join(options.arrayFormatSeparator);\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options, options.types[key]);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","import * as queryString from './base.js';\n\nexport default queryString;\n","import ReactExports, { useRef, useMemo, useCallback, useDebugValue } from 'react';\nimport 'client-only';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\nimport { OBJECT, SWRConfig, defaultConfig, withArgs, SWRGlobalState, serialize, createCacheHelper, isUndefined, getTimestamp, UNDEFINED, isFunction, revalidateEvents, internalMutate, useIsomorphicLayoutEffect, subscribeCallback, IS_SERVER, rAF, IS_REACT_LEGACY, mergeObjects, INFINITE_PREFIX, withMiddleware, cache } from 'swr/_internal';\n\n/// <reference types=\"react/experimental\" />\nconst use = ReactExports.use || ((promise)=>{\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then((v)=>{\n promise.status = 'fulfilled';\n promise.value = v;\n }, (e)=>{\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n});\nconst WITH_DEDUPE = {\n dedupe: true\n};\nconst useSWRHandler = (_key, fetcher, config)=>{\n const { cache, compare, suspense, fallbackData, revalidateOnMount, revalidateIfStale, refreshInterval, refreshWhenHidden, refreshWhenOffline, keepPreviousData } = config;\n const [EVENT_REVALIDATORS, MUTATION, FETCH, PRELOAD] = SWRGlobalState.get(cache);\n // `key` is the identifier of the SWR internal state,\n // `fnArg` is the argument/arguments parsed from the key, which will be passed\n // to the fetcher.\n // All of them are derived from `_key`.\n const [key, fnArg] = serialize(_key);\n // If it's the initial render of this hook.\n const initialMountedRef = useRef(false);\n // If the hook is unmounted already. This will be used to prevent some effects\n // to be called after unmounting.\n const unmountedRef = useRef(false);\n // Refs to keep the key and config.\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n const getConfig = ()=>configRef.current;\n const isActive = ()=>getConfig().isVisible() && getConfig().isOnline();\n const [getCache, setCache, subscribeCache, getInitialCache] = createCacheHelper(cache, key);\n const stateDependencies = useRef({}).current;\n const fallback = isUndefined(fallbackData) ? config.fallback[key] : fallbackData;\n const isEqual = (prev, current)=>{\n for(const _ in stateDependencies){\n const t = _;\n if (t === 'data') {\n if (!compare(prev[t], current[t])) {\n if (!isUndefined(prev[t])) {\n return false;\n }\n if (!compare(returnedData, current[t])) {\n return false;\n }\n }\n } else {\n if (current[t] !== prev[t]) {\n return false;\n }\n }\n }\n return true;\n };\n const getSnapshot = useMemo(()=>{\n const shouldStartRequest = (()=>{\n if (!key) return false;\n if (!fetcher) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (!isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n if (suspense) return false;\n if (!isUndefined(revalidateIfStale)) return revalidateIfStale;\n return true;\n })();\n // Get the cache and merge it with expected states.\n const getSelectedCache = (state)=>{\n // We only select the needed fields from the state.\n const snapshot = mergeObjects(state);\n delete snapshot._k;\n if (!shouldStartRequest) {\n return snapshot;\n }\n return {\n isValidating: true,\n isLoading: true,\n ...snapshot\n };\n };\n const cachedData = getCache();\n const initialData = getInitialCache();\n const clientSnapshot = getSelectedCache(cachedData);\n const serverSnapshot = cachedData === initialData ? clientSnapshot : getSelectedCache(initialData);\n // To make sure that we are returning the same object reference to avoid\n // unnecessary re-renders, we keep the previous snapshot and use deep\n // comparison to check if we need to return a new one.\n let memorizedSnapshot = clientSnapshot;\n return [\n ()=>{\n const newSnapshot = getSelectedCache(getCache());\n const compareResult = isEqual(newSnapshot, memorizedSnapshot);\n if (compareResult) {\n // Mentally, we should always return the `memorizedSnapshot` here\n // as there's no change between the new and old snapshots.\n // However, since the `isEqual` function only compares selected fields,\n // the values of the unselected fields might be changed. That's\n // simply because we didn't track them.\n // To support the case in https://github.com/vercel/swr/pull/2576,\n // we need to update these fields in the `memorizedSnapshot` too\n // with direct mutations to ensure the snapshot is always up-to-date\n // even for the unselected fields, but only trigger re-renders when\n // the selected fields are changed.\n memorizedSnapshot.data = newSnapshot.data;\n memorizedSnapshot.isLoading = newSnapshot.isLoading;\n memorizedSnapshot.isValidating = newSnapshot.isValidating;\n memorizedSnapshot.error = newSnapshot.error;\n return memorizedSnapshot;\n } else {\n memorizedSnapshot = newSnapshot;\n return newSnapshot;\n }\n },\n ()=>serverSnapshot\n ];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache,\n key\n ]);\n // Get the current state that SWR should return.\n const cached = useSyncExternalStore(useCallback((callback)=>subscribeCache(key, (current, prev)=>{\n if (!isEqual(prev, current)) callback();\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache,\n key\n ]), getSnapshot[0], getSnapshot[1]);\n const isInitialMount = !initialMountedRef.current;\n const hasRevalidator = EVENT_REVALIDATORS[key] && EVENT_REVALIDATORS[key].length > 0;\n const cachedData = cached.data;\n const data = isUndefined(cachedData) ? fallback : cachedData;\n const error = cached.error;\n // Use a ref to store previously returned data. Use the initial data as its initial value.\n const laggyDataRef = useRef(data);\n const returnedData = keepPreviousData ? isUndefined(cachedData) ? laggyDataRef.current : cachedData : data;\n // - Suspense mode and there's stale data for the initial render.\n // - Not suspense mode and there is no fallback data and `revalidateIfStale` is enabled.\n // - `revalidateIfStale` is enabled but `data` is not defined.\n const shouldDoInitialRevalidation = (()=>{\n // if a key already has revalidators and also has error, we should not trigger revalidation\n if (hasRevalidator && !isUndefined(error)) return false;\n // If `revalidateOnMount` is set, we take the value directly.\n if (isInitialMount && !isUndefined(revalidateOnMount)) return revalidateOnMount;\n // If it's paused, we skip revalidation.\n if (getConfig().isPaused()) return false;\n // Under suspense mode, it will always fetch on render if there is no\n // stale data so no need to revalidate immediately mount it again.\n // If data exists, only revalidate if `revalidateIfStale` is true.\n if (suspense) return isUndefined(data) ? false : revalidateIfStale;\n // If there is no stale data, we need to revalidate when mount;\n // If `revalidateIfStale` is set to true, we will always revalidate.\n return isUndefined(data) || revalidateIfStale;\n })();\n // Resolve the default validating state:\n // If it's able to validate, and it should revalidate when mount, this will be true.\n const defaultValidatingState = !!(key && fetcher && isInitialMount && shouldDoInitialRevalidation);\n const isValidating = isUndefined(cached.isValidating) ? defaultValidatingState : cached.isValidating;\n const isLoading = isUndefined(cached.isLoading) ? defaultValidatingState : cached.isLoading;\n // The revalidation function is a carefully crafted wrapper of the original\n // `fetcher`, to correctly handle the many edge cases.\n const revalidate = useCallback(async (revalidateOpts)=>{\n const currentFetcher = fetcherRef.current;\n if (!key || !currentFetcher || unmountedRef.current || getConfig().isPaused()) {\n return false;\n }\n let newData;\n let startAt;\n let loading = true;\n const opts = revalidateOpts || {};\n // If there is no ongoing concurrent request, or `dedupe` is not set, a\n // new request should be initiated.\n const shouldStartNewRequest = !FETCH[key] || !opts.dedupe;\n /*\n For React 17\n Do unmount check for calls:\n If key has changed during the revalidation, or the component has been\n unmounted, old dispatch and old event callbacks should not take any\n effect\n\n For React 18\n only check if key has changed\n https://github.com/reactwg/react-18/discussions/82\n */ const callbackSafeguard = ()=>{\n if (IS_REACT_LEGACY) {\n return !unmountedRef.current && key === keyRef.current && initialMountedRef.current;\n }\n return key === keyRef.current;\n };\n // The final state object when the request finishes.\n const finalState = {\n isValidating: false,\n isLoading: false\n };\n const finishRequestAndUpdateState = ()=>{\n setCache(finalState);\n };\n const cleanupState = ()=>{\n // Check if it's still the same request before deleting it.\n const requestInfo = FETCH[key];\n if (requestInfo && requestInfo[1] === startAt) {\n delete FETCH[key];\n }\n };\n // Start fetching. Change the `isValidating` state, update the cache.\n const initialState = {\n isValidating: true\n };\n // It is in the `isLoading` state, if and only if there is no cached data.\n // This bypasses fallback data and laggy data.\n if (isUndefined(getCache().data)) {\n initialState.isLoading = true;\n }\n try {\n if (shouldStartNewRequest) {\n setCache(initialState);\n // If no cache is being rendered currently (it shows a blank page),\n // we trigger the loading slow event.\n if (config.loadingTimeout && isUndefined(getCache().data)) {\n setTimeout(()=>{\n if (loading && callbackSafeguard()) {\n getConfig().onLoadingSlow(key, config);\n }\n }, config.loadingTimeout);\n }\n // Start the request and save the timestamp.\n // Key must be truthy if entering here.\n FETCH[key] = [\n currentFetcher(fnArg),\n getTimestamp()\n ];\n }\n [newData, startAt] = FETCH[key];\n newData = await newData;\n if (shouldStartNewRequest) {\n // If the request isn't interrupted, clean it up after the\n // deduplication interval.\n setTimeout(cleanupState, config.dedupingInterval);\n }\n // If there're other ongoing request(s), started after the current one,\n // we need to ignore the current one to avoid possible race conditions:\n // req1------------------>res1 (current one)\n // req2---------------->res2\n // the request that fired later will always be kept.\n // The timestamp maybe be `undefined` or a number\n if (!FETCH[key] || FETCH[key][1] !== startAt) {\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Clear error.\n finalState.error = UNDEFINED;\n // If there're other mutations(s), that overlapped with the current revalidation:\n // case 1:\n // req------------------>res\n // mutate------>end\n // case 2:\n // req------------>res\n // mutate------>end\n // case 3:\n // req------------------>res\n // mutate-------...---------->\n // we have to ignore the revalidation result (res) because it's no longer fresh.\n // meanwhile, a new revalidation should be triggered when the mutation ends.\n const mutationInfo = MUTATION[key];\n if (!isUndefined(mutationInfo) && // case 1\n (startAt <= mutationInfo[0] || // case 2\n startAt <= mutationInfo[1] || // case 3\n mutationInfo[1] === 0)) {\n finishRequestAndUpdateState();\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onDiscarded(key);\n }\n }\n return false;\n }\n // Deep compare with the latest state to avoid extra re-renders.\n // For local state, compare and assign.\n const cacheData = getCache().data;\n // Since the compare fn could be custom fn\n // cacheData might be different from newData even when compare fn returns True\n finalState.data = compare(cacheData, newData) ? cacheData : newData;\n // Trigger the successful callback if it's the original request.\n if (shouldStartNewRequest) {\n if (callbackSafeguard()) {\n getConfig().onSuccess(newData, key, config);\n }\n }\n } catch (err) {\n cleanupState();\n const currentConfig = getConfig();\n const { shouldRetryOnError } = currentConfig;\n // Not paused, we continue handling the error. Otherwise, discard it.\n if (!currentConfig.isPaused()) {\n // Get a new error, don't use deep comparison for errors.\n finalState.error = err;\n // Error event and retry logic. Only for the actual request, not\n // deduped ones.\n if (shouldStartNewRequest && callbackSafeguard()) {\n currentConfig.onError(err, key, currentConfig);\n if (shouldRetryOnError === true || isFunction(shouldRetryOnError) && shouldRetryOnError(err)) {\n if (!getConfig().revalidateOnFocus || !getConfig().revalidateOnReconnect || isActive()) {\n // If it's inactive, stop. It will auto-revalidate when\n // refocusing or reconnecting.\n // When retrying, deduplication is always enabled.\n currentConfig.onErrorRetry(err, key, currentConfig, (_opts)=>{\n const revalidators = EVENT_REVALIDATORS[key];\n if (revalidators && revalidators[0]) {\n revalidators[0](revalidateEvents.ERROR_REVALIDATE_EVENT, _opts);\n }\n }, {\n retryCount: (opts.retryCount || 0) + 1,\n dedupe: true\n });\n }\n }\n }\n }\n }\n // Mark loading as stopped.\n loading = false;\n // Update the current hook's state.\n finishRequestAndUpdateState();\n return true;\n }, // `setState` is immutable, and `eventsCallback`, `fnArg`, and\n // `keyValidating` are depending on `key`, so we can exclude them from\n // the deps array.\n //\n // FIXME:\n // `fn` and `config` might be changed during the lifecycle,\n // but they might be changed every render like this.\n // `useSWR('key', () => fetch('/api/'), { suspense: true })`\n // So we omit the values from the deps array\n // even though it might cause unexpected behaviors.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n key,\n cache\n ]);\n // Similar to the global mutate but bound to the current cache and key.\n // `cache` isn't allowed to change during the lifecycle.\n const boundMutate = useCallback(// Use callback to make sure `keyRef.current` returns latest result every time\n (...args)=>{\n return internalMutate(cache, keyRef.current, ...args);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // The logic for updating refs.\n useIsomorphicLayoutEffect(()=>{\n fetcherRef.current = fetcher;\n configRef.current = config;\n // Handle laggy data updates. If there's cached data of the current key,\n // it'll be the correct reference.\n if (!isUndefined(cachedData)) {\n laggyDataRef.current = cachedData;\n }\n });\n // After mounted or key changed.\n useIsomorphicLayoutEffect(()=>{\n if (!key) return;\n const softRevalidate = revalidate.bind(UNDEFINED, WITH_DEDUPE);\n // Expose revalidators to global event listeners. So we can trigger\n // revalidation from the outside.\n let nextFocusRevalidatedAt = 0;\n const onRevalidate = (type, opts = {})=>{\n if (type == revalidateEvents.FOCUS_EVENT) {\n const now = Date.now();\n if (getConfig().revalidateOnFocus && now > nextFocusRevalidatedAt && isActive()) {\n nextFocusRevalidatedAt = now + getConfig().focusThrottleInterval;\n softRevalidate();\n }\n } else if (type == revalidateEvents.RECONNECT_EVENT) {\n if (getConfig().revalidateOnReconnect && isActive()) {\n softRevalidate();\n }\n } else if (type == revalidateEvents.MUTATE_EVENT) {\n return revalidate();\n } else if (type == revalidateEvents.ERROR_REVALIDATE_EVENT) {\n return revalidate(opts);\n }\n return;\n };\n const unsubEvents = subscribeCallback(key, EVENT_REVALIDATORS, onRevalidate);\n // Mark the component as mounted and update corresponding refs.\n unmountedRef.current = false;\n keyRef.current = key;\n initialMountedRef.current = true;\n // Keep the original key in the cache.\n setCache({\n _k: fnArg\n });\n // Trigger a revalidation\n if (shouldDoInitialRevalidation) {\n if (isUndefined(data) || IS_SERVER) {\n // Revalidate immediately.\n softRevalidate();\n } else {\n // Delay the revalidate if we have data to return so we won't block\n // rendering.\n rAF(softRevalidate);\n }\n }\n return ()=>{\n // Mark it as unmounted.\n unmountedRef.current = true;\n unsubEvents();\n };\n }, [\n key\n ]);\n // Polling\n useIsomorphicLayoutEffect(()=>{\n let timer;\n function next() {\n // Use the passed interval\n // ...or invoke the function with the updated data to get the interval\n const interval = isFunction(refreshInterval) ? refreshInterval(getCache().data) : refreshInterval;\n // We only start the next interval if `refreshInterval` is not 0, and:\n // - `force` is true, which is the start of polling\n // - or `timer` is not 0, which means the effect wasn't canceled\n if (interval && timer !== -1) {\n timer = setTimeout(execute, interval);\n }\n }\n function execute() {\n // Check if it's OK to execute:\n // Only revalidate when the page is visible, online, and not errored.\n if (!getCache().error && (refreshWhenHidden || getConfig().isVisible()) && (refreshWhenOffline || getConfig().isOnline())) {\n revalidate(WITH_DEDUPE).then(next);\n } else {\n // Schedule the next interval to check again.\n next();\n }\n }\n next();\n return ()=>{\n if (timer) {\n clearTimeout(timer);\n timer = -1;\n }\n };\n }, [\n refreshInterval,\n refreshWhenHidden,\n refreshWhenOffline,\n key\n ]);\n // Display debug info in React DevTools.\n useDebugValue(returnedData);\n // In Suspense mode, we can't return the empty `data` state.\n // If there is an `error`, the `error` needs to be thrown to the error boundary.\n // If there is no `error`, the `revalidation` promise needs to be thrown to\n // the suspense boundary.\n if (suspense && isUndefined(data) && key) {\n // SWR should throw when trying to use Suspense on the server with React 18,\n // without providing any initial data. See:\n // https://github.com/vercel/swr/issues/1832\n if (!IS_REACT_LEGACY && IS_SERVER) {\n throw new Error('Fallback data is required when using suspense in SSR.');\n }\n // Always update fetcher and config refs even with the Suspense mode.\n fetcherRef.current = fetcher;\n configRef.current = config;\n unmountedRef.current = false;\n const req = PRELOAD[key];\n if (!isUndefined(req)) {\n const promise = boundMutate(req);\n use(promise);\n }\n if (isUndefined(error)) {\n const promise = revalidate(WITH_DEDUPE);\n if (!isUndefined(returnedData)) {\n promise.status = 'fulfilled';\n promise.value = true;\n }\n use(promise);\n } else {\n throw error;\n }\n }\n return {\n mutate: boundMutate,\n get data () {\n stateDependencies.data = true;\n return returnedData;\n },\n get error () {\n stateDependencies.error = true;\n return error;\n },\n get isValidating () {\n stateDependencies.isValidating = true;\n return isValidating;\n },\n get isLoading () {\n stateDependencies.isLoading = true;\n return isLoading;\n }\n };\n};\nOBJECT.defineProperty(SWRConfig, 'defaultValue', {\n value: defaultConfig\n});\n/**\n * A hook to fetch data.\n *\n * @link https://swr.vercel.app\n * @example\n * ```jsx\n * import useSWR from 'swr'\n * function Profile() {\n * const { data, error, isLoading } = useSWR('/api/user', fetcher)\n * if (error) return <div>failed to load</div>\n * if (isLoading) return <div>loading...</div>\n * return <div>hello {data.name}!</div>\n * }\n * ```\n */ const useSWR = withArgs(useSWRHandler);\n\nconst getFirstPageKey = (getKey)=>{\n return serialize(getKey ? getKey(0, null) : null)[0];\n};\nconst unstable_serialize = (getKey)=>{\n return INFINITE_PREFIX + getFirstPageKey(getKey);\n};\n\n// We have to several type castings here because `useSWRInfinite` is a special\n// hook where `key` and return type are not like the normal `useSWR` types.\n// const INFINITE_PREFIX = '$inf$'\nconst EMPTY_PROMISE = Promise.resolve();\n// export const unstable_serialize = (getKey: SWRInfiniteKeyLoader) => {\n// return INFINITE_PREFIX + getFirstPageKey(getKey)\n// }\nconst infinite = (useSWRNext)=>(getKey, fn, config)=>{\n const didMountRef = useRef(false);\n const { cache: cache$1, initialSize = 1, revalidateAll = false, persistSize = false, revalidateFirstPage = true, revalidateOnMount = false, parallel = false } = config;\n const [, , , PRELOAD] = SWRGlobalState.get(cache);\n // The serialized key of the first page. This key will be used to store\n // metadata of this SWR infinite hook.\n let infiniteKey;\n try {\n infiniteKey = getFirstPageKey(getKey);\n if (infiniteKey) infiniteKey = INFINITE_PREFIX + infiniteKey;\n } catch (err) {\n // Not ready yet.\n }\n const [get, set, subscribeCache] = createCacheHelper(cache$1, infiniteKey);\n const getSnapshot = useCallback(()=>{\n const size = isUndefined(get()._l) ? initialSize : get()._l;\n return size;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n cache$1,\n infiniteKey,\n initialSize\n ]);\n useSyncExternalStore(useCallback((callback)=>{\n if (infiniteKey) return subscribeCache(infiniteKey, ()=>{\n callback();\n });\n return ()=>{};\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n cache$1,\n infiniteKey\n ]), getSnapshot, getSnapshot);\n const resolvePageSize = useCallback(()=>{\n const cachedPageSize = get()._l;\n return isUndefined(cachedPageSize) ? initialSize : cachedPageSize;\n // `cache` isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n infiniteKey,\n initialSize\n ]);\n // keep the last page size to restore it with the persistSize option\n const lastPageSizeRef = useRef(resolvePageSize());\n // When the page key changes, we reset the page size if it's not persisted\n useIsomorphicLayoutEffect(()=>{\n if (!didMountRef.current) {\n didMountRef.current = true;\n return;\n }\n if (infiniteKey) {\n // If the key has been changed, we keep the current page size if persistSize is enabled\n // Otherwise, we reset the page size to cached pageSize\n set({\n _l: persistSize ? lastPageSizeRef.current : resolvePageSize()\n });\n }\n // `initialSize` isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n infiniteKey,\n cache$1\n ]);\n // Needs to check didMountRef during mounting, not in the fetcher\n const shouldRevalidateOnMount = revalidateOnMount && !didMountRef.current;\n // Actual SWR hook to load all pages in one fetcher.\n const swr = useSWRNext(infiniteKey, async (key)=>{\n // get the revalidate context\n const forceRevalidateAll = get()._i;\n const shouldRevalidatePage = get()._r;\n set({\n _r: UNDEFINED\n });\n // return an array of page data\n const data = [];\n const pageSize = resolvePageSize();\n const [getCache] = createCacheHelper(cache$1, key);\n const cacheData = getCache().data;\n const revalidators = [];\n let previousPageData = null;\n for(let i = 0; i < pageSize; ++i){\n const [pageKey, pageArg] = serialize(getKey(i, parallel ? null : previousPageData));\n if (!pageKey) {\n break;\n }\n const [getSWRCache, setSWRCache] = createCacheHelper(cache$1, pageKey);\n // Get the cached page data.\n let pageData = getSWRCache().data;\n // should fetch (or revalidate) if:\n // - `revalidateAll` is enabled\n // - `mutate()` called\n // - the cache is missing\n // - it's the first page and it's not the initial render\n // - `revalidateOnMount` is enabled and it's on mount\n // - cache for that page has changed\n const shouldFetchPage = revalidateAll || forceRevalidateAll || isUndefined(pageData) || revalidateFirstPage && !i && !isUndefined(cacheData) || shouldRevalidateOnMount || cacheData && !isUndefined(cacheData[i]) && !config.compare(cacheData[i], pageData);\n if (fn && (typeof shouldRevalidatePage === 'function' ? shouldRevalidatePage(pageData, pageArg) : shouldFetchPage)) {\n const revalidate = async ()=>{\n const hasPreloadedRequest = pageKey in PRELOAD;\n if (!hasPreloadedRequest) {\n pageData = await fn(pageArg);\n } else {\n const req = PRELOAD[pageKey];\n // delete the preload cache key before resolving it\n // in case there's an error\n delete PRELOAD[pageKey];\n // get the page data from the preload cache\n pageData = await req;\n }\n setSWRCache({\n data: pageData,\n _k: pageArg\n });\n data[i] = pageData;\n };\n if (parallel) {\n revalidators.push(revalidate);\n } else {\n await revalidate();\n }\n } else {\n data[i] = pageData;\n }\n if (!parallel) {\n previousPageData = pageData;\n }\n }\n // flush all revalidateions in parallel\n if (parallel) {\n await Promise.all(revalidators.map((r)=>r()));\n }\n // once we executed the data fetching based on the context, clear the context\n set({\n _i: UNDEFINED\n });\n // return the data\n return data;\n }, config);\n const mutate = useCallback(// eslint-disable-next-line func-names\n function(data, opts) {\n // When passing as a boolean, it's explicitly used to disable/enable\n // revalidation.\n const options = typeof opts === 'boolean' ? {\n revalidate: opts\n } : opts || {};\n // Default to true.\n const shouldRevalidate = options.revalidate !== false;\n // It is possible that the key is still falsy.\n if (!infiniteKey) return EMPTY_PROMISE;\n if (shouldRevalidate) {\n if (!isUndefined(data)) {\n // We only revalidate the pages that are changed\n set({\n _i: false,\n _r: options.revalidate\n });\n } else {\n // Calling `mutate()`, we revalidate all pages\n set({\n _i: true,\n _r: options.revalidate\n });\n }\n }\n return arguments.length ? swr.mutate(data, {\n ...options,\n revalidate: shouldRevalidate\n }) : swr.mutate();\n }, // swr.mutate is always the same reference\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n infiniteKey,\n cache$1\n ]);\n // Extend the SWR API\n const setSize = useCallback((arg)=>{\n // It is possible that the key is still falsy.\n if (!infiniteKey) return EMPTY_PROMISE;\n const [, changeSize] = createCacheHelper(cache$1, infiniteKey);\n let size;\n if (isFunction(arg)) {\n size = arg(resolvePageSize());\n } else if (typeof arg == 'number') {\n size = arg;\n }\n if (typeof size != 'number') return EMPTY_PROMISE;\n changeSize({\n _l: size\n });\n lastPageSizeRef.current = size;\n // Calculate the page data after the size change.\n const data = [];\n const [getInfiniteCache] = createCacheHelper(cache$1, infiniteKey);\n let previousPageData = null;\n for(let i = 0; i < size; ++i){\n const [pageKey] = serialize(getKey(i, previousPageData));\n const [getCache] = createCacheHelper(cache$1, pageKey);\n // Get the cached page data.\n const pageData = pageKey ? getCache().data : UNDEFINED;\n // Call `mutate` with infinte cache data if we can't get it from the page cache.\n if (isUndefined(pageData)) {\n return mutate(getInfiniteCache().data);\n }\n data.push(pageData);\n previousPageData = pageData;\n }\n return mutate(data);\n }, // exclude getKey from the dependencies, which isn't allowed to change during the lifecycle\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n infiniteKey,\n cache$1,\n mutate,\n resolvePageSize\n ]);\n // Use getter functions to avoid unnecessary re-renders caused by triggering\n // all the getters of the returned swr object.\n return {\n size: resolvePageSize(),\n setSize,\n mutate,\n get data () {\n return swr.data;\n },\n get error () {\n return swr.error;\n },\n get isValidating () {\n return swr.isValidating;\n },\n get isLoading () {\n return swr.isLoading;\n }\n };\n };\nconst useSWRInfinite = withMiddleware(useSWR, infinite);\n\nexport { useSWRInfinite as default, infinite, unstable_serialize };\n","import { Result, Spin } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/components/locale'\nimport { usePermission } from '@/services'\n\nexport interface RequirePermissionProps {\n code: string\n config?: KyOptions\n}\n\nconst RequirePermission: FC<PropsWithChildren<RequirePermissionProps>> = props => {\n const { code, config, children } = props\n const { data: accessible, isValidating } = usePermission(code, config)\n const { t } = useTranslation()\n\n if (isValidating) {\n return (\n <Spin\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n height: 200,\n }}\n />\n )\n }\n\n if (!accessible) {\n return <Result status=\"403\" subTitle={t('global.noEntitlement')} />\n }\n\n return <>{children}</>\n}\n\nexport default RequirePermission\n","import { lazy } from 'react'\nimport { Route, Routes } from 'react-router-dom'\n\nconst MenuItemList = lazy(() => import('./menuItemList'))\nconst CreateMenuItem = lazy(() => import('./createMenuItem'))\nconst UpdateMenuItem = lazy(() => import('./updateMenuItem'))\n\nexport default (\n <Routes>\n <Route index element={<MenuItemList />} />\n <Route path=\"create\" element={<CreateMenuItem />} />\n <Route path=\"update/:id\" element={<UpdateMenuItem />} />\n </Routes>\n)\n","import { Button, Result } from 'antd'\nimport type { FC } from 'react'\nimport { useNavigate } from 'react-router-dom'\n\nimport { useTranslation } from '@/components/locale'\n\ninterface NotFoundProps {\n redirectUrl?: string\n}\n\nconst NotFound: FC<NotFoundProps> = props => {\n const { redirectUrl } = props\n const navigate = useNavigate()\n const { t } = useTranslation()\n\n return (\n <div className=\"h-screen flex justify-center items-center\">\n <Result\n status=\"404\"\n title=\"404\"\n subTitle={t('NotFound.subTitle')}\n extra={\n redirectUrl && (\n <Button\n type=\"primary\"\n onClick={() => {\n navigate(redirectUrl)\n }}\n >\n {t('NotFound.buttonText')}\n </Button>\n )\n }\n />\n </div>\n )\n}\n\nexport default NotFound\n","import { Card, Form, Input, Select } from 'antd'\nimport type { ColumnsType } from 'antd/es/table'\nimport dayjs from 'dayjs'\nimport type { FC } from 'react'\n\nimport { ExpandableParagraph } from '@/components/expandableParagraph'\nimport { useTranslation } from '@/components/locale'\nimport { QueryList } from '@/components/queryList'\nimport { withContext } from '@/components/toolkitsProvider'\n\nimport type { OperationLogListItem } from './types'\n\nconst { Option } = Select\n\nconst OperationLogList: FC = () => {\n const { t } = useTranslation()\n\n const columns: ColumnsType<OperationLogListItem> = [\n {\n key: 'username',\n title: t('global.username'),\n dataIndex: 'uname',\n width: 100,\n },\n {\n key: 'label',\n title: t('global.label'),\n dataIndex: 'label',\n width: 150,\n },\n {\n key: 'method',\n title: t('global.method'),\n dataIndex: 'method',\n width: 100,\n },\n {\n key: 'route',\n title: t('global.route'),\n dataIndex: 'route',\n width: 200,\n },\n {\n key: 'request',\n title: t('global.request'),\n dataIndex: 'request',\n render(value: string) {\n return <ExpandableParagraph>{value}</ExpandableParagraph>\n },\n },\n {\n key: 'response',\n title: t('global.response'),\n dataIndex: 'response',\n render(value: string) {\n return <ExpandableParagraph>{value}</ExpandableParagraph>\n },\n },\n {\n key: 'creation_time',\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n width: 200,\n render(value: string) {\n return dayjs(value).format('YYYY-MM-DD HH:mm:ss')\n },\n },\n ]\n\n return (\n <Card title=\"操作日志\">\n <QueryList<\n OperationLogListItem,\n {\n uname?: string\n route?: string\n method?: 'get' | 'post'\n label?: string\n },\n { List: OperationLogListItem[]; Total: number }\n >\n rowKey=\"id\"\n code=\"300001\"\n columns={columns}\n tableLayout=\"fixed\"\n url=\"/api/usystem/log/list\"\n getTotal={data => data?.Total}\n getDataSource={data => data?.List}\n renderForm={form => (\n <Form form={form} layout=\"inline\">\n <Form.Item label={t('global.username')} name=\"uname\">\n <Input allowClear />\n </Form.Item>\n <Form.Item label={t('global.route')} name=\"route\">\n <Input allowClear />\n </Form.Item>\n <Form.Item label={t('global.method')} name=\"method\">\n <Select allowClear style={{ width: '100px' }}>\n <Option value=\"get\">GET</Option>\n <Option value=\"post\">POST</Option>\n </Select>\n </Form.Item>\n <Form.Item label={t('global.label')} name=\"label\">\n <Input allowClear />\n </Form.Item>\n </Form>\n )}\n />\n </Card>\n )\n}\n\nexport default withContext(OperationLogList, { isGlobal: true })\n","import { lazy } from 'react'\nimport { Navigate, Route, Routes } from 'react-router-dom'\n\nconst UserList = lazy(() => import('./userList'))\nconst UserDetail = lazy(() => import('./userDetail'))\nconst RoleList = lazy(() => import('./roleList'))\nconst RoleDetail = lazy(() => import('./roleDetail'))\n\nexport default (\n <Routes>\n <Route index element={<Navigate to=\"user\" />} />\n <Route path=\"user\" element={<UserList />} />\n <Route path=\"user/:id\" element={<UserDetail />} />\n <Route path=\"role\" element={<RoleList />} />\n <Route path=\"role/:name\" element={<RoleDetail />} />\n </Routes>\n)\n","import { Alert, Button, Divider, Form, Input, Space, Spin, Typography } from 'antd'\nimport type { FC, ReactNode } from 'react'\nimport { Navigate } from 'react-router-dom'\nimport useSWR from 'swr'\n\nimport { useTranslation } from '@/components/locale'\nimport { Logo } from '@/components/logo'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { SSO_URL } from '@/constants'\nimport { useKy } from '@/libs'\n\nimport backgroundUrl from './background.svg'\n\ninterface SignInProps {\n extra?: ReactNode\n}\n\nconst SignIn: FC<SignInProps> = props => {\n const { extra } = props\n const {\n title: { text },\n unregistered,\n } = useToolkitsStore(s => s)\n\n // 当路由模式为 hash 模式时,Idaas 重定向会把 ticket 放到 hash 前面,此时的登录页的地址为标准的 URL 结构 \"/?ticket=xxx#/sign_in\"。\n // 然而 react-router-dom 无法从这种地址中获取到查询字符串,需要使用原生的 window.location.search。\n const queryParams = new URLSearchParams(window.location.search)\n const { token, setToken, mainPagePath } = useToolkitsStore(state => state)\n const ky = useKy()\n\n const { t } = useTranslation()\n\n const ticket = queryParams.get('ticket')\n console.log('Ticket from URL:', ticket)\n console.log('Has ticket:', queryParams.has('ticket'))\n console.log('Full search params:', window.location.search)\n\n const { isLoading } = useSWR(\n queryParams.has('ticket') ? `/api/usystem/user/login?ticket=${queryParams.get('ticket')}` : null,\n url => ky.get<{ token: string }>(url),\n {\n onSuccess: data => {\n if (data && 'token' in data && typeof data.token === 'string') {\n setToken(data.token)\n }\n },\n },\n )\n\n if (isLoading) {\n return (\n <div className=\"w-screen h-screen flex justify-center items-center\">\n <Spin />\n </div>\n )\n }\n\n if (token) {\n const hashMode = !!window.location.hash\n const path = mainPagePath\n\n if (!hashMode) {\n return <Navigate replace to={mainPagePath} />\n }\n\n // 移除 ticket\n window.location.href = `${window.location.origin}${window.location.pathname}#${path}`\n\n return null\n }\n\n return (\n <div className=\"w-screen h-screen relative flex overflow-hidden\">\n <div className=\"absolute top-16 right-16 z-10\">{extra}</div>\n <div className=\"absolute left-14 top-6\">\n <Space align=\"center\">\n <Logo width={48} />\n <span className=\"text-2xl font-bold\">{text}</span>\n </Space>\n </div>\n <div className=\"flex-1 flex justify-center items-center bg-slate-50\">\n <img src={backgroundUrl} alt=\"background\" className=\"w-10/12\" />\n </div>\n <div className=\"w-[650px] relative top-0 left-0 right-0 bottom-0\">\n <div className=\"absolute top-1/2 -translate-y-1/2 left-0 right-0\">\n <div className=\"-translate-y-10 px-36\">\n <div className=\"flex flex-col justify-center\">\n <div className=\"h-10\">\n {unregistered && <Alert banner closable message={t('SignIn.unregistered')} type=\"error\" />}\n </div>\n <Typography.Title level={2}>{t('SignIn.welcome')}</Typography.Title>\n <div className=\"mt-4\">\n <Form layout=\"vertical\" autoComplete=\"off\">\n <Form.Item label={t('global.username')} name=\"username\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label={t('global.password')} name=\"password\" rules={[{ required: true }]}>\n <Input.Password />\n </Form.Item>\n <Form.Item>\n <Button block type=\"primary\" shape=\"round\" htmlType=\"submit\">\n {t('global.signIn')}\n </Button>\n </Form.Item>\n </Form>\n </div>\n <Divider plain dashed>\n {t('SignIn.thirdParty')}\n </Divider>\n <div className=\"flex justify-center items-center\">\n <Button\n block\n shape=\"round\"\n href={`${SSO_URL}/logout?service=${SSO_URL}/login?service=${window.location.href}`}\n target=\"_self\"\n >\n <Logo width={18} />\n {t('SignIn.signInWithIDass')}\n </Button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default SignIn\n"]}
|